我对两个补码略有混淆。我查看了What is “2's Complement”?。
我正在尝试添加-2 + -3 = -5。这是我的思考过程:
+2 = 0010
-2 = 1110 # in twos complement
+3 = 0011
-3 = 1101 # in twos complement
1101
+1101
-----
10010 # What is this?
我知道-5在Two's Complement中是1011。但是我不确定当我在上面的例子中添加-2 + -3时我做了什么。
对于添加-2 + -3的过程的解释将不胜感激。谢谢你的帮助!
答案 0 :(得分:1)
在4位2' scomplement -2中是1110而+3是0011所以
11110 carry
1110 -2
+0011 +3
----
10001 which is 0001 or simply 1 ignoring the carry in bit 5
从右到左逐步完成整个过程:
1 + 0导致1没有进位
1 + 1导致0携带1
1 + 0 + 1的结果为0,进位为1
1 + 0 + 1的进位导致0进位1
只有1的结果导致1无结果
有关参考,请参阅维基百科有关2补充的文章,特别是https://en.wikipedia.org/wiki/Two%27s_complement#Addition的补充部分。有许多在线2补全计算器可以帮助进行转换,其中一个是http://www.exploringbinary.com/twos-complement-converter/
如果您想了解-3 + -3是如何完成的,请告诉我,因为这是您尝试过的。这是一个类似的过程,但一定要从比特长度开始,足以避免溢出,如进位行中最左边的两位具有不同的值时所确定的那样。