从这篇笔记开始写csapp的笔记,希望可以坚持下去。
字长
每台计算机都有一个字长,指明指针数据的标称大小。
32位机器字长为32位,64位机器字长为64位。
数据类型 | 32位机器字节数 | 64位机器字节数 |
---|---|---|
char | 1 | 1 |
short | 2 | 2 |
int | 4 | 4 |
long | 4 | 8 |
char * | 4 | 8 |
float | 4 | 4 |
double | 8 | 8 |
寻址和字节顺序
大端法:最高有效字节在最前面。小端法:最低有效字节在最前面。
e.g. 0x01234567 大端法四个字节存储为:01,23, 45, 67 小端法四个字节存储为: 67, 45, 23, 01
逻辑运算与位级运算
逻辑运算:||, &&, !。返回值为1或0,逻辑运算认为所有非零的参数都为TRUE,参数为零表示FALSE。
位级运算:| , &, ~, ^。
移位运算
左移k位:丢弃最高的k位,并在最右端补k个0。
逻辑右移k位:丢弃最低的k位,并在最左端补k个0。
算数右移k位:丢弃最低的k位,并在最左端补k个最高有效位的值。