原码,反码,补码
原码:二进制带有符号位,最高位0表示正,最高位位1表示位负
反码:正数的反码等于原码,负数的反码等于原码符号为不变其他位取反加1
补码:正数的补码等于原码,负数的补码等于反码+1
举例:
5(byte类型)的原码,反码,补码
原码:00000101
反码:00000101
补码:00000101
-3(byte类型)的原码,反码,补码
原码:10000011
反码:11111100
补码:11111101
为什么要有补码:
方便计算机底层进行计算,计算机只有加法器,例如上述的5-3会转化成加法5+(-3),而补码的意义就是负数参与加法运算的时候用补码表示,例如上述5+(-3)的结果是2
byte范围:
最大值:01111111 2^7 -1
最小值:10000000 -2^7
可能会有疑问10000000不是-0吗,00000000就是+0,为了避免0有正0和负0之分,规定10000000表示负数的最小值-2^7
最后牢记:
补码参与运算!!!
原码表示大小!!!