Java原码反码补码详解
原码、反码与补码
- 原码: 就是二进制定点表示法,即最高位为符号位,"0"表示正,"1"表示负,其余位表示数值的大小。
- 通过一个字节,也就是8个二进制位表示+7和-7
+7:0(符号位) 0000111
-7:1(符号位) 0000111
- 通过一个字节,也就是8个二进制位表示+7和-7
- 反码:正数的反码与其原码相同,负数的反码是对其原码逐位取反,但符号位除外。
- 补码:正数的补码与其原码相同,负数的补码是在其反码的末位加1。
- 注意:计算机在运算时都是以补码的形式进行运算的。
原反补示例
类型 | +7 | -7 |
---|---|---|
原码 | 0 0000111 | 1 0000111 |
反码 | 0 0000111 | 1 1111000 |
补码 | 0 0000111 | 1 1111001 |