Binary 使用2';补语

Binary 使用2';补语,binary,Binary,如果不是SO的一部分,请将此问题转移到其他stackexchange站点 如果我用2的补码法从1001中减去1110,那么结果是(-)1011。但它应该是(-)101。为什么会发生这种情况?2的补足法是否不足?还是我遗漏了什么?解决了 我不知道负数在2的补码上表示有点不同。似乎2的补码中的负数是这样表示的,当与加法逆相加时,它得到0 更多信息:academic.everyvan.edu/projects/biophystics/technotes/program/2s_comp.htm你期望的是

如果不是SO的一部分,请将此问题转移到其他stackexchange站点

如果我用2的补码法从1001中减去1110,那么结果是(-)1011。但它应该是(-)101。为什么会发生这种情况?2的补足法是否不足?还是我遗漏了什么?

解决了

我不知道负数在2的补码上表示有点不同。似乎2的补码中的负数是这样表示的,当与加法逆相加时,它得到0


更多信息:academic.everyvan.edu/projects/biophystics/technotes/program/2s_comp.htm

你期望的是-5,你得到的是-5(4位2的补码中1011是-5)。这里有什么问题吗?@harold:1011不是等于11吗?是的,但是你是在4位中进行的,所以模16,然后11=-5(模16)。你可以通过做,比如说,6+11(结果:1,这就像做6-5)