按位取反运算
- 正数的按位取反:+9
- 原码:01001
- 反码:01001
- 补码:01001
(原码1)01001——>01001(反码)—–>01001(补码)———按位取反—>10110(变负数)—–>11001(反码,负数符号位不变) — +1操作—> 11010(原码2)
11010按位反:-10
- 负数的按位取反:-9
- 原码:11001
- 反码:10110
- 补码:10111 (负数的补码=反码+1)
负数的补码按位取反:10111—->01000(正数:补码=原码=反码)
01000按位反: 8
按位取反总结
- 按位取反是根据数的 补码 进行按位取反(计算机底层这样要求的),正数的原码、反码和补码都是一样(规律,三码归一);负数的反码是符号位不变,其它位取反,然后加1变成补码。
- 得到新的补码(0x0)后,新的补码进行 取其反码——>取其补码操作得到的是新的补码(0x0)的原码(规律)。根据原码就可以计算出数值。负数按位取反后变成正数,此时正数是补码,但是正数的补码和原码是一样的,所以直接计算得8。

3万+

被折叠的 条评论
为什么被折叠?



