当我的老师问“用1或2进行4位二进制5-3运算时”,我做了一些奇怪的事情。
我将向您展示他如何解决该问题,并希望有一个很好的解释。另外,如果您能找到解释它的指南,那将非常有帮助
5 in binary => 101
3 in binary => 11
We want 4 bit representation so it will go like this
5 => 0101
3 => 0011
Now we can find the 1's.
1's of -5 => 1010
1's of -3 => 1100 +
----
0110 with carry 1.
但是开头的0
表明存在溢出。为解决此问题,我们将在每个数字的开头再增加1
位。
1010 => 11010
1100 => 11100 +
-----
10110 with carry 1.
我们会将进位加到结果中。
10110
1+
-----
10111
我遇到的问题是在检测到溢出之后。有时,他将每个值加到值1
的左边(如上例),而另一些时候,他将添加到值0
的左边。
有人可以解释吗?