负小数补码计算? 10

机器字长位8位(其中含一位符号位),用补码运算规则完成下列运算。A=0.0010101,B=-0.1101011,求A+B,并判断是否有溢出。... 机器字长位8位(其中含一位符号位),用补码运算规则完成下列运算。A=0.0010101,B=-0.1101011,求A+B,并判断是否有溢出。 展开
 我来答
做而论道
高能答主

2023-03-03 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部

机器字长位8位(其中含一位符号位),用补码运算规则完成下列运算。

A = +0.001 0101,

B = -0.110 1011,

求 A + B,并判断是否有溢出。

------------------

直接计算:A + B = -0.101 011。

用补码计算:

A = +0.001 0101, [ A ]补 = 0001 0101。

B = -0.110 1011, [ B ]补 = 1001 0101。

求和: [ A + B ]补 = 1010 1010。

再由补码求真值: A + B = -0.101 011。

判断是否有溢出:

 这是,正数+负数!

 绝不可能溢出。

小宋在线教学67
2022-08-29 · 贡献了超过167个回答
知道答主
回答量:167
采纳率:37%
帮助的人:4.8万
展开全部
C 的高位为 1,表示结果为负数,原码为 01010110(减 1 取反),恢复小数点(小数点左移 7 位), 符号为 -0.101011。 运算过程中没有8位进位,所以没有溢出。 用decimal验证C的小数为-0.671875(0.5 0.125 0.03125 为负数时补码为原码(1.1010)的反码,为负数时补码为原码的反码 +1(1.1011),小数没有码移。用9.52到数的话,会有很多小数位。这里我们以-9.625为例。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CodeBlove
2022-06-29 · TA获得超过3364个赞
知道小有建树答主
回答量:936
采纳率:79%
帮助的人:243万
展开全部
去掉小数点(小数点右移7位,最高位为符号位)
A为正数用8位原码表示: 00010101
B为负数用8位补码表示: 10010101(01101011取反加1得到)
结果C=A+B=00010101+10010101=10101010
C的高位为1 表示结果为负数,转原码为01010110(减1取反),恢复小数点(小数点左移7位)和符号为-0.101011,运算过程没有发生进位超出8位,因此没有溢出。
十进制验证
C的十进制为-0.671875(0.5+0.125+0.03125+0.015625=0.671875)
A(0.0010101)的十进制A'为0.125+0.03125+0.0078125=0.1640625
B(-0.1101011)的十进制B'为-(0.5+0.25+0.0625+0.015625+0.0078125)=-0.8359375
D=A'+B'=0.1640625-0.8359375=-0.671875
由于C=D,因此计算无误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式