作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/12 02:01:23
已知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,表示结果产生“下溢出”,即计算结果
再问: x补-y补=x补+y补补是哪里来的? 应该是x补-y补=x补+[-y补]
再问: x补-y补=x补+y补补是哪里来的? 应该是x补-y补=x补+[-y补]
再答: [-y补]就是[y补补]啊,不过第二个确实算错了 y可以不用求补码,正确应该是: x-y=x补+[-y]=10101+00101=11010=-0.0110 (没有溢出) 不好意思,不好意思!sorry!
再问: 这就对了