为什么两个互补,1001 和 11111001 都是 -7?

How come in two's complementary, 1001 and 11111001 are both -7?

当我学习补码时,有人教我,对于有符号的数字,

0111表示7, 所以通过使用两个互补,

0111 -> 1000 + 1 -> 1001, is -7

所以1001代表-7.

当我在 YouTube 上刷新这个概念时,我看到一个视频说,

0000 0111表示7,所以利用二的补码,

0000 0111 -> 1111 1000 + 1 -> 1111 1001, is -7,

因此,11111001代表-7

我很困惑。那么仅仅通过查看一个带符号的二进制数,我们如何确定它的值呢?我认为11111001应该等于-121,因为第一个数MSB是1,所以它是负数,而1111001是十进制的-121,所以应该11111001 不是 -121 吗?我做错了什么?

谢谢大家!

这两个示例之间的唯一区别是您为每个数字使用的位数。

1001 是 -7,有 4 位,11111001 是 -7,有 8 位。

如果将同一个绝对数的负数和正数相加,结果将为零。

两者都是-7 + 7 = 0

1001 + 0111 = 1|0000 

11111001 + 00000111 = 1|00000000