深入理解计算机系统
资料CS:APP3e, Bryant and O’Hallaron (cmu.edu)
15-213/15-513 Introduction to Computer Systems (cmu.edu)
Kernighan The C Programming Language
Bits,Bytes,Integer
Byte = 8bits
二进制每四位可以转为一个十六进制
地址是由机器字长决定的,比如64位的机器表示地址是64位长=8字节
基于布尔运算来进行位运算
布尔运算
AND & 交
A&B = 1 when A和B都为1
Or | 并
A|B=1 when A和B至少有一个为1
Not ~ 补
~A=1 when A = 0
Exclusive-Or(Xor) | 对称差
A^B=1 when A和B值不同
非位运算:&&,||,!
0为假,非0为真,且有短路运算
位移操作
左移 x << y
高位丢失,低位补0
右移 x >&g ...