目录:
- 定点数简介
- 原码
- 反码
- 补码
- 移码
- 移位运算
- 加减运算
- 溢出判断
- 符号扩展
定点数和浮点数的不同
定点数的表示
无符号数的表示(没有符号位!)
定点数(有符号位!)
原码表示
若机器字长占n+1位,则尾数(数值位)占n位
举例:
若机器字长为8位
原码表示范围
反码(原码与补码转换的中间过程)
注意:反码计算中是循环进位!
补码
**注意:**在补码运算中进位后若超出机器位范围,舍弃高位
移码(只能表示整数)
移码的作用
相关码表示定点数
举例:
解析:计算真值
时需要先转变为原码
然后进行计算!
总结
对于补码和移码作用总结:
补码:计算机方便运算
移码:计算机方便比数字大小
移位运算
简单举例
原码的算数移位
左移与右移位向反
反码的算数移位
总结:
算术移位的应用举例
如上图可知,计算机可通过移位进行乘法运算
逻辑移位
循环移位
总结
加减运算
若机器位为八位则在运算中相当于mod 2的八次方(只保留最低8位)
模 - a的绝对值 = a的补数(补码)
总结:对于此题,88-66等价为88的补数+(-66)的补数
计算-66的补数有两种方式:
1.原码->反码->补码
2.模(因为此题的机器位是8位,所以模是2的八次方) - a的绝对值 = a的补数(补码)
补码只有加法,符号位也参与运算
注意:说的是数值位,符号位保持不变
溢出判断