已知 X 和 Y,用变形补码计算 X+Y 和 X-Y,并指出运算结果是否溢出: X=0.11011,Y=0.11111
正确答案:1)方法一:(单符号位判溢)
[X]补=0.11011//正数的补码与真值相同,最高位为0
[Y]补=0.11111
[-Y]补=10.00000-Y=10.00000-0.11111=1.00001//负数的补码=模-真值
[X+Y]补=[X]补+[Y]补=0.11011+0.11111=1.11010有溢出(正+正=负),正溢出。
[X-Y]补=[X]补+[-Y]补=0.11011+1.00001=1.11100无溢出(同号相减不溢出)
方法二:(双符号位判溢)
[X]补=00.11011//[X]补=100.00000+0.11011=00.11011(mod4)
[Y]补=00.11111
[-Y]补=100.00000-0.11111=11.00001
[X+Y]补=[X]补+[Y]补=00.11011+00.11111=01.11010有溢出,双符号位01
[X-Y]补=[X]补+[-Y]补=00.11011+11.00001=11.11100无溢出,双符号们11
[X]补=0.11011//正数的补码与真值相同,最高位为0
[Y]补=0.11111
[-Y]补=10.00000-Y=10.00000-0.11111=1.00001//负数的补码=模-真值
[X+Y]补=[X]补+[Y]补=0.11011+0.11111=1.11010有溢出(正+正=负),正溢出。
[X-Y]补=[X]补+[-Y]补=0.11011+1.00001=1.11100无溢出(同号相减不溢出)
方法二:(双符号位判溢)
[X]补=00.11011//[X]补=100.00000+0.11011=00.11011(mod4)
[Y]补=00.11111
[-Y]补=100.00000-0.11111=11.00001
[X+Y]补=[X]补+[Y]补=00.11011+00.11111=01.11010有溢出,双符号位01
[X-Y]补=[X]补+[-Y]补=00.11011+11.00001=11.11100无溢出,双符号们11
答案解析:有
微信扫一扫手机做题