版权声明:本文为CSDN博主「extratorsion」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38282836/article/details/81784112
整型
在C/C++ 中天然的支持除10进制之外的三种进制的表示, 其前缀分别为:
二进制: 0b
八进制: 0
十六进制: 0x
1.二进制
例: int x = 0b1001; // x = 9
2.八进制
例: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'
#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;
}
此外,在提一个小知识点,C/C++中赋值时是存在数值截断的,一般从低位开始保留。(当然也有高位开始保留的操作系统,使用之前可以先测试一下)(这里是以位为操作对象的,由操作系统控制安全;而通过指针添加数字的时候,是一个类型的空间为操作对象,要靠人为控制安全)