原码,反码,补码是java数值运算的基础,在计算机程序中,数值运算是基于二进制的,也就是说底层是二进制运算.而数值有正数与负数,二进制只有0和1,如何表示负数,如何进行正负数的运算,这就是原反补的意义所在.。
为什么要学习原反补:后面要学习强制转换,如果不学习原反补你是看不懂结果的。
原码表示形式:
- 就是二进制定点表达式,即最高位位符号位,“0”表示正,"1"表示负,其余数表示数值大小。
- 通过一个字节表示,也就是8个二进制位表示+7与-7
- 0(符号位)000111=7
- 1(符号位)000111=-7
反码表示形式:
- 正数的反码与原码相同,负数的反码就是在对原码取反(符号位除外)
补码:
- 正数的补码码与原码相同,负数的补码就是在反码的末尾加1
实例(7+(-7)):