本文从原码讲起。通过简述原码,反码和补码存在的作用,加深对补码的认识。力争让你对补码的概念不再局限于:负数的补码等于反码加一
。
原码:是最简单的机器数表示法。用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。
反码:正数的反码还是等于原码,负数的反码就是他的原码除符号位外,按位取反。
补码: 正数的补码等于他的原码,负数的补码等于反码+1。
例如:
5的原码,反码,补码都是0101, java.lang.Integer#toBinaryString
-5的原码,反码,补码是,1101,1010,1011,java.lang.Integer#toBinaryString