我使用二进制补码来表示负数。
案例1:数字-5
根据二进制补码技术:
将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
我有什么误解吗?