1000 0000 0000 0000代表byte型-128的原码和补码。
先说原码,负数的原码一般是正数的原码将最高位改为1。假设128在byte范围内,它的“原码”为1000 0000 0000 0000(最高位为1 ,这不是正数的原码,这也是为什么byte最大只能存到127的原因)。将最高位变为1(它本身就是1),还是1000 0000 0000 0000。
再说补码,除最高位,后15位位取反加1。可是后15位取反加1后变为1000 0000 0000 0000超过了15的内容,产生溢出,所以只保留000 0000 0000 0000。加上最高位,补码为1000 0000 0000 0000
这个比较特殊,记住就好。 |