机器数与真值
机器数
真值
编码
原码
特点
表示范围
求真值方法
反码
特点
补码
特点
表示范围
求真值方法
移码
特点
表示范围
求真值方法
相互转换
原码<->补码
补码<->移码
原码<->反码
反码<->补码
移位
左移
右移
- 逻辑右移
- 算术右移
符号扩展
零扩展
- 整数
- 小数
符号扩展
运算器部件
一位加法器
串行进位加法器
并行进位加法器
定点数的加减法
运算规则
- 加法
- 减法
运算电路
溢出判别
四种情况:
- 正+正=负
- 负+负=正
- 正-负=负
- 负-正=正
一位符号位
双符号位(模4补码)
标志计算
SF 仅对带符号数有效
OF 仅对带符号数有效
CF 仅对无符号数有效
ZF
浮点数
表示格式
一般浮点数的规格化
意义:
使非零浮点数在尾数最高数位上保持有效值
操作:
- 左规
- 右规
尾数为原码
正数
负数
尾数为补码
正数
负数
IEEE754
表示格式
- float
- double
规格化
真值和机器数的转换
加减运算
- 对阶
- 尾数求和
- 规格化
- 舍入
- 溢出判断
C语言强制类型转换
(float)(int)
(double)(int/float)
(float)(double)
(int)(float/double)