在某些情况下,补码的运算可能会发生溢出情况,因此引入变形补码的概念,进行判断。
变形补码即用符号位为两位的补码,如[+6]补 = 00.110,[-6]补 =11.010。
符号位 溢出情况
00 表示正数
01 上溢
10 下溢
11 表示负数
eg:
X=-0.11011 Y=-0.10101 用变形补码计算X+Y 和X-Y 是否溢出?
根据补码加减法公式: [X-Y]补 =[X]补+[-Y]补
[X]补=11.00101 [Y]补 =11.01011 [-Y]补 = 00.10101
[X]补+[Y]补:
11.00101
+11.01011
-------------------------
10.10000 下溢
[X]补+[-Y]补:
11.00101
+00.10101
----------------------------
11.11001 无溢出