1、反码是原码除符号位外所有位取反
2、正数的原码和补码一致
3、负数的补码是反码再加1
4、补码是正数,补码即原码,否则补码的补码是原码
在java中整数是以二进制的形式存在的,主要就是为了解决整数计算问题
比如3-3,可以转化为3+(-3),如果采用源码 00000011 + 10000011 = 10000100(-4),结果错误
采用源码的话00000011 + 11111101 = 100000000,超出8位,最高位自动舍弃,结果为00000000,正确
1、反码是原码除符号位外所有位取反
2、正数的原码和补码一致
3、负数的补码是反码再加1
4、补码是正数,补码即原码,否则补码的补码是原码
在java中整数是以二进制的形式存在的,主要就是为了解决整数计算问题
比如3-3,可以转化为3+(-3),如果采用源码 00000011 + 10000011 = 10000100(-4),结果错误
采用源码的话00000011 + 11111101 = 100000000,超出8位,最高位自动舍弃,结果为00000000,正确