首先复习一下关于“码”的知识点:
二进制整数都是以补码形式出现的。
- 正数的补码与反码、原码一致,
- 负数的补码是反码+1.这样使减法运算可以使用加法器实现,符号位也参与运算;
-
移码与补码就是符号位取反
移码的设计思想
首先抛出结果: (E为阶码,e为真值)。
移码的几何意义是把真值映射到一个正数域,其特点是可以直观地反映两个真值的大小,即移码大的真值也大。
基于这个特点,对计算机来说用移码比较两个真值的大小非常简单,只要高位对齐后逐个比较即可,不用考虑负号的问题,这也是阶码会采用移码表示的原因所在。
问题:为什么要阶码真值+127而不是+128呢?
因为8个二进制位能表示指数的取值范围为[-128,127],现在将指数变成移码表示,即将区间[-128,127]正向平移到正数域,区间里的每个数都需要加上1