#include <iostream>
int main() {
?? ?//二进制: ?? ?//由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头 ?? ?int a1 = 0b11; ?? ?int a2 = -0b1001; ?? ?int a3 = 0B10001; ?? ?printf("十进制输出:a1 = %d, a2 = %d, a3 = %d\n", a1, a2, a3); ?? ?//int a4 = 1010;//无前缀0b或者0B,是一个十进制数 ?? ?//int a5 = 0b3001;//只能是0或者1
?? ?//八进制: ?? ?//由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o) ?? ?//合法的八进制数 ?? ?int b1 = 015;? //换算成十进制为 13 ?? ?int b2 = -0101;? //换算成十进制为 -65 ?? ?int b3 = 0177777;? //换算成十进制为 65535 ?? ?printf("十进制输出:b1 = %d, b2 = %d, b3 = %d\n", b1, b2, b3); ?? ?printf("八进制输出:b1 = %o, b2 = %o, b3 = %o\n", b1, b2, b3); ?? ?//非法的八进制 ?? ?//int b4 = 256;? //无前缀 0,相当于十进制 ?? ?//int b5 = 03A2;? //A不是有效的八进制数字
?? ?//十六进制: ?? ?//由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头 ?? ?//合法的十六进制 ?? ?int c1 = 0X2A;? //换算成十进制为 42 ?? ?int c2 = -0XA0;? //换算成十进制为 -160 ?? ?int c3 = 0xffff;? //换算成十进制为 65535 ?? ?printf("十进制输出:c1 = %d, c2 = %d, c3 = %d\n", c1, c2, c3); ?? ?printf("十六进制输出:c1 = %x, c2 = %X, c3 = %x\n", c1, c2, c3); ?? ?//非法的十六进制 ?? ?//int c4 = 5A;? //没有前缀 0X,是一个无效数字 ?? ?//int c5 = 0X3H;? //H不是有效的十六进制数字 }
下表是各种进制整数的输出格式。
上表中没有二进制的输出格式,不能使用 printf函数输出二进制数。您可以编写函数把其它进制数字转换成二进制数字,并保存在字符串中,然后在printf 函数中使用%s输出。
参考链接:1、C语言把十进制转换为二进制数的方法和示例_C语言技术网-码农有道-CSDN博客_十进制转化为二进制c语言
?2、C语言中的二进制数、八进制数和十六进制数
|