计算机用0 1代码表示数据,1byte=8bit,4个bit可以表示一个16进制位。C语言中0x或者0X开头的数字常量是16进制数字。
C语言中变量的准确位数依赖具体机器和编译器,但一般32位机和64位机变量字节数参阅CSAPP 2e p26。
表示变量时大多数intel兼容机把最低有效字节放在最前面,成为小端法(little endian)
C语言中,表达式
sizeof(T)
返回类型T需要的字节数
C语言中字符串被编码为一个以null(其值为0)字符结尾的字符数组
C语言中不存在bool类型,0表示错位,非0表示正确
&& || !表示逻辑判断,短路求值;& | ^ ~是位运算
<<表示左移,比较简单。对于右移>>分为逻辑右移和算数右移,算数右移在左边添加最高位,逻辑右移在左端添加0
对于无符号数,右移必须是逻辑的;对于符号数据均可,大多数情况下均会算数右移。
java >> 算数右移 >>> 逻辑右移