在讲座中学习了有符号整数和二进制补码后,我对两者之间的区别感到困惑,如果有的话。
例如,二进制形式的 -1 有符号整数是 10000001 还是 11111111?
我知道一种方法是使用最高位作为整数的符号,其余位作为幅度位。这将使 10000001,-1。但是后来我看到了另一种方法,将最高位视为 2 的负幂(在这种情况下为-128),然后将其添加到 2 的其余幂的总和中,分别对应的位位置(64+32+16+8+4+2+1 = 127 和 -128+127=-1)。
在讲座中,有符号整数和二进制补码可以互换使用,这就是为什么我不确定哪种方法“正确”的原因。