A-A+

写出下面两组数的原码 反码 补码表示 并用补码计算每组数的和 差。双符号位的作用是什么?它只

2022-08-12 13:15:21 问答库 阅读 196 次

问题详情

写出下面两组数的原码、反码、补码表示,并用补码计算每组数的和、差。双符号位的作用是什么?它只出现在什么电路中? (1)x=0.1 101 y= -0.0l 1 l (2)x=101 1 1 101 y= -0010101 1


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:(1)x=0.1101 y=-0.0l11[x]=00 1 101 [y]=1 1 0l11[x]=00 1 101 [y]=1 1 1000[x]=00 1 101 [y]=1 1 1001[x + y]=(00 1 101+1 1 1001)(mood 2)=(00 0110)(mood 2)=0 0110[x-y]=([x]+[-y])(mood 2) =(00 1101+00 0111)(mood 2) =(01 0100)(mod 2)(双符号得到的值不同表示溢出正溢)(2)x=1011 1101 y= -00101011[x]=00 1011 1101 [y]=11 00101011[x]=00 1011 1101 [y]=11 11010100[x]=00 l0ll 1101 [y]=11 11010101[x + y]=(00 101l 1101+11 11010101)(mod 2)=(00 10010010)(mood 2) =0 10010010[x-y]=([x]+[-y])(mood 2) =(00 1011 1101+00 00101011)(mood 2)=0 ll101000双符号位能很容易地检查加减运算中的溢出情况。当符号位相同时数值结果正确;当符号位为0l或10时表示数值溢出。01表示两个正数相加之和≥1的情况通常称为正溢;10表示两个负数相加之和<一1的情况通常称为负溢。前面的1个符号位是正确的符号位。因为只在把两个模4补码的数值送往算术逻辑单元完成加减计算后才把每个数的符号位的值同时送到算术逻辑单元的两位符号位所以只有在算术逻辑单元中才采用双符号位。
(1)x=0.1101y=-0.0l11[x]原=001101[y]原=110l11[x]反=001101[y]反=111000[x]补=001101[y]补=111001[x+y]补=(001101+111001)(mood2)=(000110)(mood2)=00110[x-y]补=([x]补+[-y]补)(mood2)=(001101+000111)(mood2)=(010100)(mod2)(双符号得到的值不同表示溢出,正溢)(2)x=10111101y=-00101011[x]原=0010111101[y]原=1100101011[x]反=0010111101[y]反=1111010100[x]补=00l0ll1101[y]补=1111010101[x+y]补=(00101l1101+1111010101)(mod2)=(0010010010)(mood2)=010010010[x-y]补=([x]补+[-y]补)(mood2)=(0010111101+0000101011)(mood2)=0ll101000双符号位能很容易地检查加减运算中的溢出情况。当符号位相同时,数值结果正确;当符号位为0l或10时,表示数值溢出。01表示两个正数相加之和≥1的情况,通常称为正溢;10表示两个负数相加之和<一1的情况,通常称为负溢。前面的1个符号位是正确的符号位。因为只在把两个模4补码的数值送往算术逻辑单元完成加减计算后,才把每个数的符号位的值同时送到算术逻辑单元的两位符号位,所以只有在算术逻辑单元中才采用双符号位。

考点:补码,反码