在2的补码中,0-127表示为00000000到01111111.在负数的情况下,我们反转无符号表示中的所有位并加1以得到2的补码.
(参考:http://en.wikipedia.org/wiki/Signed_number_representations#Two.27s_complement)
因此,2的补码中的-1将是:
unsigned 1 = 00000001 invert all bits = 11111110 add 1 = 11111111
但对于-128,如果我们遵循相同的步骤:
unsigned 128 = 10000000 invert all bits= 01111111 add 1= 10000000
所以-128和128在2的补码表示法中具有相同的表示形式?为什么8位的2的补码范围不是-127到128?简而言之,为什么-128优先于使用相同位数表示无符号128?