1. 原码
将一个整数转换成二进制形式,就是其原码。例如short a = 6; a 的原码就是0000 0000 0000 0110
;更改 a 的值a = -18; 此时 a 的原码就是1000 0000 0001 0010
。
通俗的理解,原码就是一个整数本来的二进制形式。
2. 反码
对于正数,它的反码就是其原码(原码和反码相同);负数的反码是将原码中除符号位以外
的所有位(数值位)取反,也就是 0 变成 1,1 变成 0。例如short a = 6; a 的原码和反码都是0000 0000 0000 0110
;更改 a 的值a = -18; 此时 a 的反码是1111 1111 1110 1101
。
3. 补码
对于正数,它的补码就是其原码(原码、反码、补码都相同);负数的补码是其反码加 1。例如short a = 6; a 的原码、反码、补码都是0000 0000 0000 0110
;更改 a 的值a = -18; 此时 a 的补码是1111 1111 1110 1110
。
可以认为,补码是在反码的基础上打了一个补丁,进行了一下修正,所以叫“补码”。
原码、反码、补码的概念只对负数有实际意义,对于正数,原码、反码、补码都是一样的