把x=-124,y=-6 分别用二进制补码格式表示

把x=-124,y=-6 分别用二进制补码格式表示,位模式长度为8,并用补码计算 x+y的结果,写出计算过程,并说明是否溢出

补码=反码+1
所以-124的补码:10000100
-6的补码:11111010
x+y=10000100+11111010
补码加法的特点,一是符号位要作为数的一部分一起参加运算,二是要在模2
的意义下相加,即超过2的进位要丢掉。
因此在第8位相加的时候要进1的,因此溢出。
又因为 第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
[1111 1111 , 0111 1111]


[-127 , 127]
所以溢出了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-23

把 x=-124,y=-6,分别用二进制补码格式表示,位模式长度为 8。

并用补码计算 x+y 的结果。写出计算过程,并说明是否溢出。

答:

x =-124 = -111 1100b

 [x]原 = 1111 1100b

 [x]反 = 1000 0011b

 [x]补 = 1000 0100b

y =-6d = -110b

 [y]原 = 1000 0110b

 [y]反 = 1111 1001b

 [y]补 = 1111 1010b

列竖式计算:

    1000 0100

  + 1111 1010

 ----------

  (1)  0111 1110 = [x + y]补

负数加负数,得到正数! 这就是溢出了。

因为,x + y =-130,超出了 8 位补码的表示范围。

所以,发生溢出。

第2个回答  2014-11-21
答:
x = -124d = -111 1100b
[x]原 = 1111 1100b
[x]反 = 1000 0011b
[x]补 = 1000 0100b

y = -6d = -110b
[y]原 = 1000 0110b
[y]反 = 1111 1001b
[y]补 = 1111 1010b

[x]补 = 1000 0100b
[y]补 = 1111 1010b
--------------------------(+
[x+y]补 = 10111 1110b
Cs⊕Cp = 1⊕0 = 1 ,负溢出
(Cs是符号位的进位,Cp是最高数值位的进位,⊕表示异或)
-[X+Y]反 = -0111 1101B
-[X+Y]原 = -1000 0010B
X+Y = -1000 0010B = -82H = -130D本回答被网友采纳
相似回答