Fork me on GitHub

CSAPP_2

寻址和字节顺序

  1. 小端法:最低有效字节在最前面
  2. 大端法:最高有效字节在最前面
  3. 浮点型和整型数据有不同的字节模式
  4. 二进制代码不兼容

布尔代数

布尔运算 逻辑运算
~ NOT
& AND
单竖线 OR
^ 异或(不同为1,相同为0)
  • 位向量:固定长度,由0,1组成的串,1表示存在,0表示不存在,从右往左
  • 布尔环

移位运算

左移:右端补k个0,移位之后符号为不变,将一个整数左移1位相当于乘以2

逻辑右移:左端补k个0

算术右移:左端补k个最高有效位的值

表示 意义
x>>k x右移k位
x<<k x左移k位

位级运算

转换为二进制进行运算,之后转回相应进制

掩码运算

最常见:ch&0xff,生成由ch最低有效字节组成的值

0xff的二进制形式为11111111,这样最终的值为最后8位不变,其他数均为0

0%