第二章学习总结
1、信息处理
-
64位机器运行32位机器编译的程序
gcc -m32 prog.c
-
一个字长为w位的机器,虚拟地址的范围为0~2的w方-1
-
C语言允许多种关键字的顺序
-
多字节对象被存储为连续的字节序列,对象的地址为所使用字节中最小的地址
-
小端:最低有效字节在最前面
大端:最高有效字节在最前面
-
移位运算:
逻辑移位:补0
算术移位:补最高有效位的值
2、数据表示
-
无符号数
B2U = 每一位的权值之和
-
有符号数
B2T = 最高有效位代表正负值+各位的权值
-
补码与无符号数的相互转换
-
数字的扩展
无符号数的零扩展与补码数的符号扩展
-
数字的截断
3、整数运算
-
无符号加法:
两个非负整数相加的范围:0<=x+y<=2的w方-2
如果出现溢出的情况要模一个2的w方
-
有符号数的加法
转换为两个数的补码相加
-
无符号乘法
xy = (xy)mod2的w方
-
补码乘法
4、浮点数
-
IEEE浮点表示
用 V = (-1)s * M * 2 E
符号决定正负,M为二进制小数,E是阶码
-
C语言中的浮点数
double与float 双精度与单精度
int、float、double转化时有可能出现数据丢失的情况