一、用ASCII码表示字符
特殊的字符进行转义才能表达:
\n 换行 \\ 反斜杠 \" 引号 \0 空字符
八进制: \o, \oo, \ooo (o为一个八进制数字)
十六进制: \xh (h为十六进制数字串)
printf("%d %o %x\n", a, a, a)是把整数a分别按照十进制、八进制和十六进制输出 (小写x转换成十六进制,字母表示是小写
大写X转换成十六进制,字母表示是大写)
二、进制转换与移位运算符
乘以2:可以写成 << 1,意思是左移一位, 左移四位就是乘以2的四次方
例如2的8次方减一, (1 << 8) -1 (必须要加括号,因为 < <运算符的优先级没有减法高)
三、补码表示
表示正数和负数:例如使用带符号32位整数表示法:用最高位表示符号(0:正数 1:负数)剩下31位表示数的绝对值
#include <stdio.h>
int main(){
int a= -1;
printf("%u\n", a);
return 0;
}
-n的内部表示是2的32次方-n,这便是“补码表示法”
多数计算机内部,整数采用的是“补码表示法”
int类型的范围 [-2^31 , 2^31 -1] 即 [-2147483648,2147483647]