在C/C++ 中天然的支持除10进制之外的三种进制的表示, 其前缀分别为:
1.二进制: 0b
2.八进制: 0
3.十六进制: 0x
1.二进制
例: int x = 0b1001; // x = 9(32个bit,0b0000000000001001)
2.八进制
例:int y = 074; // x = 60
3.十六进制
例: int z = 0xa3;(大小只占用了一个字节,其余三个字节用0补充0x000000a3) // x = 163;(由于十六进制一位可以对应4位二进制数字,用十六进制来表示二进制较为方便。因此,八进制的应用不如十六进制。)
初次之外在char类型字符的表示时也可以用 8进制数 或 16进制数,
例: char A = '101' 这里 以开头表述其后为八进制数 最终 '101' == 65 == 'A'
例: char B = 'x42' 这里 以x开头表述其后为十六进制数 最终 'x42' == 66 == 'B'
-------------------让我们看一下代码的例子-------------------------
#include <stdio.h> #include <stdlib.h> int main() { //二进制: 0b int x = 0b1001; // x = 9 //八进制: 0 int y = 074; // x = 60 // 3.十六进制 int z = 0xa3; // x = 163; // 初次之外在char类型字符的表示时也可以用 8进制数 或 16进制数, char A = '101'; //这里 以开头表述其后为八进制数 最终 '101' == 65 == 'A' char B = 'x42';//这里 以x开头表述其后为十六进制数 最终 'x42' == 66 == 'B' printf("x = %d ", x); printf("y = %d ", y); printf("z = %d ", z); printf("A = %c ", A); printf("B = %c ", B); system("pause"); return 0; }
----------------------------运行结果----------------------
x = 9 y = 60 z = 163 A = A B = B Press any key to continue . . .