C/C++ 各种进制的表示方法/ 进制前缀

在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\n", x);
    printf("y = %d\n", y);
    printf("z = %d\n", z);
 
    printf("A = %c\n", A);
    printf("B = %c\n", B);
 
    system("pause");
    return 0;
}

----------------------------运行结果----------------------

x = 9
y = 60
z = 163
A = A
B = B
Press any key to continue . . .

https://blog.csdn.net/qq_38282836/article/details/81784112

 

 

posted @ 2014-12-21 15:33  南哥的天下  阅读(1154)  评论(0编辑  收藏  举报