1: //number_bases.cpp 2: //Displays numbers in decimal, octal and hexadecimal form. 4: #include <iostream> 5: #include <iomanip> 6: using namespace std; 8: int main() 9: { 10: cout << "\nThis program displays numbers in decimal, octal, and " 11: "hexadecimal (\"hex\") forms.\nTo make sense of everything, " 12: "study both the source code and the output.\n\nIn the first " 13: "table below, look at any row. Each value is written using\n" 14: "the same digits (in the source code), but in a different base, " 15: "and is\noutput in (default) decimal format in each case.\n" 16: "Decimal Octal Hex\n" 17: "-------------------\n"; 18: cout << setw(4) << 6 19: << setw(8) << 06 20: << setw(7) << 0x6 << endl 21: << setw(4) << 14 22: << setw(8) << 014 23: << setw(7) << 0x14 << endl 24: << setw(4) << 123 25: << setw(8) << 0123 26: << setw(7) << 0x123 << endl; 28: cout << "\nIn this second table, every number actually has the " 29: "same value (61 decimal),\nbut each of the three rows shows " 30: "the values written using a different base.\n" 31: "Dec/Oct/Hex: 61 075 0X3D\n" 32: "----------------------------\n"; 33: cout << "Decimal: " 34: << setw(6) << 61 //Decimal output is the default. 35: << setw(6) << 075 36: << setw(6) << 0X3D << endl 37: << "Octal: " 38: << setw(6) << oct << 61 //Now we use the "oct" manipulator. 39: << setw(6) << oct << 075 40: << setw(6) << oct << 0X3D << endl 41: << "Hex: " 42: << setw(6) << hex << 61 //And now the "hex" manipulator. 43: << setw(6) << hex << 075 44: << setw(6) << hex << 0X3D << endl; 45: cout << endl; 46: }