假设机器字长为32位。机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数,其中整数运算即定点整数运算(来源:百度百科)。
以整数127为例进行讨论。
- 正数127的原码:0000 0000 0000 0000 0000 0000 0111 1111
- 正数127的反码:0000 0000 0000 0000 0000 0000 0111 1111
- 正数127的补码:0000 0000 0000 0000 0000 0000 0111 1111
正数的原码、反码、补码相同
- 负数127的原码:1000 0000 0000 0000 0000 0000 0111 1111 (正数原码的符号位取1)
- 负数127的反码:1111 1111 1111 1111 1111 1111 1000 0000 (除符号位外,原码所有位取反)
- 负数127的补码:1111 1111 1111 1111 1111 1111 1000 0001 (反码基础上加1)