定点数
无符号数
有符号数
原码
- 若字长为n+1,则原码小数的表示范围为-(1-2-n)≤x≤1-2-n(关于原点对称)
缺点
- 需要分开计算
- 补码的主要作用:两个有符号数可以直接相加
补码
- 利用模的特性
反码
原码反码补码的关系
移码
- 移码01111110的真值:
- 1.转换成无符号数真值:126
- 2.减去偏置值10000000对应的无符号数真值128得到移码
- 真值:126-128=-2
- 或者:
- 01111110-10000000=11111110
- 对应补码真值-2
移位
逻辑移位
- 机器数采用无符号数:逻辑移位
- 逻辑左移时,高位移丢,低位添0;逻辑右移时,低位移丢,高位添0
算术移位:左移相当于乘以基数,右移相当于除以基数
- 算术移位:机器码采用有符号数
- 符号位不参与移位
- 结论:原码算术移位:左移丢1,运算出错;右移丢1,影响精度。
循环移位
符号扩展
定点数运算
符号扩展
溢出判断
- 逻辑表达式
- 与:如ABC,表示A与B与C
- 仅当A、B、C均为1时,ABC为1
- A、B、C中有一个或多个为0,则ABC为0
- 或:如A+B+C,表示A或B或C
- 仅当A、B、C均为0时,A+B+C为0
- A、B、C中有一个或多个为1,则A+B+C为1
- 与:如ABC,表示A与B与C
- 采用双符号位的移位运算:低位符号位参与移位,高位符号位代表真正的符号
- 在机器运算的时候实际采用的是一位的符号位