已知X=-0.1011,y=-0.0101要求补码运算x+y=?x-y=?判断是否溢出

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/20 19:28:49
已知X=-0.1011,y=-0.0101要求补码运算x+y=?x-y=?判断是否溢出

已知X=-0.1011,y=-0.0101要求补码运算x+y=?x-y=?判断是否溢出
已知X=-0.1011,y=-0.0101要求补码运算x+y=?x-y=?判断是否溢出

已知X=-0.1011,y=-0.0101要求补码运算x+y=?x-y=?判断是否溢出
正数的补码:与原码相同.
负数的补码:负数的补码等于其绝对值的原码各位取反,然后整个数加1的数值.
x=-0.1011=11011,x补=10101
y=-0.0101=10101,y补=11011,y补补=10101
x+y=x补+y补=10101+11011=110000=-1.0000 (最后一步按2取模)
x-y=x补-y补=x补+y补补=10101+10101=101010=01010
x-y结果反号,产生错误,原因是结果超出四位数表示范围
补救措施为取双符号位补码,符号位为00表示正数,符号位为11表示负数
符号位为01或10表示产生溢出.此时有
x=-0.1011=111011,x补=110101
y=-0.0101=110101,y补=111011,y补补=110101
x+y=x补+y补=110101+111011=1110000=-1.0000 (最后一步按4取模)
x-y=x补-y补=x补+y补补=110101+110101=1101010=101010
符号位为10,表示结果产生“下溢出”,即计算结果