原码
正数 5: 0000 0101
负数 5: 1000 0101
反码
正数 5: 0000 0101
负数 5: 1111 1010
补码
正数 5: 0000 0101
负数 5: 1111 1011(-5 在硬盘上的存储方式)
1.可以看到正数的原码 与 其反码补码相同
2.负数的原码最高位为1
3.负数的反码: 符号位不变,其余各位按位取反
4.负数的补码:在其反码的基础上+1
5.负数是以其补码的方式存储在硬盘上的
经过强制类型转换以后,变量 a,b 的值分别为多少?
short a =128;
byte b =(byte) a;
a = 128, b = -128(b的取值范围是-128到127)
注意 java 中是以补码表示一个数,所以表示形式是补码,不是原码!