原码补码反码

Java中 的数用的是补码表示。

原码是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111],即[-127 , 127]。

反码的表示方法是:

正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

补码的表示方法是:

正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

原文地址:https://www.cnblogs.com/sljslj/p/9753479.html