输入输出格式参考文章
注意事项
C语言中没有专门的八进制变量类型和十六进制变量类型,八进制变量和十六进制变量实际上是以十进制形式表示的整数。
在C语言中,只有在定义变量时才能使用八进制表示法和十六进制表示法,在其他情况下,如果没有特殊要求,八进制数和十六进制数会被自动转换成十进制数来表示。
1. 十进制整数作为八进制/十六进制输出
- 输出八进制整数的格式控制符为 %o(注意是字母o)
- 输出十六进制整数的格式控制符为 %x 或者 %X (小写x和大写X分别表示小写格式和大写十六进制)
- 八进制和十六进制默认输出时是不带进制符号的(0 0x 和 0X),如果想要输出时带上进制符号,需要在百分号后面加上 # 标志,如%#o 表示输出带符号的八进制数字
例子——输出1234的八进制和十六进制形式(带进制符号)
#include<stdio.h> int main() { printf("八进制形式为 %#o\n", 1234); printf("十六进制形式为 %#x\n", 1234); printf("十六进制形式为 %#X\n", 1234); return 0; }
2. 八进制整数作为十进制/十六进制输出
- C语言中默认整数是十进制数字,如果想要表示一个数字在出现的时候是八进制,需要写成0+数字的形式,比如下面的例子就要写成01234
- 输出十进制整数的格式控制符为 %d 或 %u(只有正数的整型)
- 输出十六进制整数的格式控制符为 %x 或者 %X (小写x和大写X分别表示小写格式和大写十六进制)
- 十六进制默认输出时是不带进制符号的( 0x 和 0X),如果想要输出时带上进制符号,需要在百分号后面加上 # 标志,如%#0x 表示输出带符号的十六进制数字
例子——输出八进制01234的十进制和十六进制形式(带进制符号)
#include<stdio.h> int main() { printf("十进制形式为 %#d\n", 01234); printf("十六进制形式为 %#x\n", 01234); printf("十六进制形式为 %#X\n", 01234); return 0; }
3. 十六进制整数作为八进制/十进制输出
- C语言中默认整数是十进制数字,如果想要表示一个数字在出现的时候是十六进制,需要写成0x+数字或者0X+数字的形式,比如下面的例子就要写成0x1234
- 输出八进制整数的格式控制符为 %o(注意是字母o)
- 输出十进制整数的格式控制符为 %d 或 %u(只有正数的整型)
- 八进制和十六进制默认输出时是不带进制符号的(0 0x 和 0X),如果想要输出时带上进制符号,需要在百分号后面加上 # 标志,如%#o 表示输出带符号的八进制数字
例子——输出十六进制0x1234的八进制和十进制形式(带进制符号)
#include<stdio.h> int main() { printf("八进制形式为 %#o\n", 0x1234); printf("十进制形式为 %#d\n", 0x1234); return 0; }
如果我的文章对您有所帮助,就点个赞支持一下呗