我想知道,如果有人可以仔细检查我的工作对我来说真正的快速。如果我给出了两个负数:-33和-31。如果我把它们加起来会是怎样使用2的补数的结果。
注:6位必须的字长被用于该操作。
我的答案
所以,这样做后,我计算-31是在2的100001。我还计算-33是在2的补数011111。当一起添加它们我百万,但是这个数目为7位,所以我砍掉高阶位因为我结合到6比特的字长。这就产生了其中包含的0符号位,这意味着它会连号000000。然而,由于2分负的总和不能连这显然溢出。所以,我走2倍的000000这简直是000000。
所以答案应该是:0,因为发生缓冲区溢出。这看起来从右到你们?谢谢。 :)
首先:-33 +(-31)不能为0。
-33是不是在6位2的补码表示的。 01 1111b
是十进制+31
,所以在0的相加结果。
所以正确答案是类似的东西:有没有结果,因为-33是6位表示一个无效的号码。
在7位2的补-33 = 101 1111b
110 0001
+101 1111
=
1100 0000
其等于-64。