Binary x-y=x+¬;y+;1问题

Binary x-y=x+¬;y+;1问题,binary,bit-manipulation,Binary,Bit Manipulation,我目前正在读一本关于“小摆弄”的书,出现了以下公式: x-y = x+¬y+1 但这似乎不起作用。例如: x = 0100 y = 0010 x-y = 0010 ¬y = 1101 ¬y+1 = 1110 x+1110 = 10010 但是10010!=0010… 我在哪里犯了错误(如果有) (这本书是亨利·S·沃伦的“”。你带着多余的一部分。在真正的计算机中,如果你溢出了这个词,这个位就会消失。(实际上它保存在进位标志中。)。您只有一个四位系统!最终结果左侧的额外

我目前正在读一本关于“小摆弄”的书,出现了以下公式:

x-y = x+¬y+1
但这似乎不起作用。例如:

x = 0100  
y = 0010  
x-y = 0010  
¬y = 1101  
¬y+1 = 1110  
x+1110 = 10010  
但是
10010!=0010…

我在哪里犯了错误(如果有)


(这本书是亨利·S·沃伦的“”。

你带着多余的一部分。在真正的计算机中,如果你溢出了这个词,这个位就会消失。(实际上它保存在进位标志中。)。

您只有一个四位系统!最终结果左侧的额外1不可能存在。应该是:

x  = 0100
y  = 0010
~y = 1101
~y + 1 = 1110
x + 1110 = 0010

另一位溢出,不属于结果的一部分。您可能需要继续阅读。

假设数字限制为4位,则第五个
1
将被截断,留给您的是
0010

这都是关于溢出的。您只有四位,所以不是10010,而是0010。

在2的补码系统中,只需添加答案:

~x + 1 = -x
~x = 1101
~x + 1 = 1110
x=2
。在4位中,这是
0010

~x = 1101
~x + 1 = 1110

而且
1110
is-2

非常感谢:)很好的解释。也要感谢所有其他人。请注意,这并没有像现在这样“有点吹毛求疵”