我正在使用 2' 补码来表示二进制形式的负数
案例1:数字-5
根据 2' 补码技术:
将 5 转换为二进制形式:
00000101
,然后翻转位
11111010
,然后加 1
00000001
=> 结果:11111011
为了确保这是正确的,我重新计算为十进制:
-128 + 64 + 32 + 16 + 8 + 2 + 1 = -5
案例2:号码-240
采取相同的步骤:
11110000
00001111
00000001
00010000 => recalculate this I got 16, not -240
我误会了什么?