printf() では、整数データに対して、 %o, %d, %x という書式指定で、 それぞれ 8 進数, 10 進数, 16進数を表示できた。 C++ ではどうするか?
kakezan.C |
// kakezan.C -- 掛け算 FF #include <iostream.h> int main() { int i, j; // 掛け算 FF cout.setf(ios::hex, ios::basefield); for (i = 1; i <= 15; i++) { for (j = 1; j <= 15; j++) { cout.width(3); cout << i * j; } cout << endl; } // 掛け算 77 cout.setf(ios::oct, ios::basefield); for (i = 1; i <= 7; i++) { for (j = 1; j <= 7; j++) { cout.width(3); cout << i * j; } cout << endl; } // 掛け算 99 cout.setf(ios::dec, ios::basefield); for (i = 1; i <= 9; i++) { for (j = 1; j <= 9; j++) { cout.width(3); cout << i * j; } cout << endl; } return 0; } |
kakezan-new.C |
// kakezan.C -- 掛け算 FF #include <iostream.h> #include <iomanip.h> int main() { int i, j; // 掛け算 FF cout << hex; for (i = 1; i <= 15; i++) { for (j = 1; j <= 15; j++) cout << setw(3) << i * j; cout << endl; } // 掛け算 77 cout << oct; for (i = 1; i <= 7; i++) { for (j = 1; j <= 7; j++) cout << setw(3) << i * j; cout << endl; } // 掛け算 99 cout << dec; for (i = 1; i <= 9; i++) { for (j = 1; j <= 9; j++) cout << setw(3) << i * j; cout << endl; } return 0; } |
kakezan-new2.C |
// kakezan-new2.C -- 掛け算 FF #include <iostream.h> #include <iomanip.h> int main() { int i, j; // 掛け算 FF cout << setbase(16); for (i = 1; i <= 15; i++) { for (j = 1; j <= 15; j++) cout << setw(3) << i * j; cout << endl; } // 掛け算 77 cout << setbase(8); for (i = 1; i <= 7; i++) { for (j = 1; j <= 7; j++) cout << setw(3) << i * j; cout << endl; } // 掛け算 99 cout << setbase(10); for (i = 1; i <= 9; i++) { for (j = 1; j <= 9; j++) cout << setw(3) << i * j; cout << endl; } return 0; } |