1.十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。
#include <bits/stdc++.h>
using namespace std;
int main() {
int val = 1234;
printf("%#o %#X\n", val, val);
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main() {
int val = 1234;
cout.setf(ios::showbase | ios::uppercase);
cout << oct << val << " " << hex << val << endl;
return 0;
}
2、首位为0的整数C语言当做了8进制了。如果要输出 010,使用printf("%d"); 输出的结果是8。
int x = 077; // 8进制整型 数据以0开始
printf("%#o – %06d",x,x); // 用 %#o 输出以0打头书写的8进制数。用 %06d 输出十进制数值占地6位,不足位添0。
这里输出 077 – 000063
3、用 %02d 的格式符可以输出宽度为 2 位,不足在左边补 0 的格式。