chatpter 2 信息的表示和处理
字节顺序:
从最高有效位到最低有效位, 顺序存储的方式的就是大端法, 反之就是小端法
三种情况下需要关注字节顺序:
- 不同类型的机器之间通过网络传输二进制数据的时候
- 阅读机器码的整数的时候
- 编写规避正常类型系统的程序的时候
位运算
用于掩码
- 提取最低8位:
0xff & x
- 全1的掩码
~0
- 逻辑右移是在最高位填充0, 算数右移是在最高位填充符号位
- 提取
x
存在奇数位上是1, 可以用mask = 0xaaaaaaaa
,mask & x
, 因为0xa = 0x0101
, 恰好1在技术位上 - 通过不断折叠
x
来进行奇偶校验
1 | x ^= x >> 16; |
通过xor
的性质, 1^1=0, 1^1^1 = 1
不断折叠x
, 将1不断集中异或
6. 填充最高位以下的位可以使用最高位来依次填充:
1 | x |= x >> 1; |
7.