1、计算机在底层存储数据的时候,一律存储的是 ” 二进制 的补码形式”。应为补码效率最高。
2、对于一个 正整数 来说,二进制原码, 反码 ,补码是同一个,完全相同的。
3、对于一个负数来说,补码 等于 反码加1,反码是根据原码符号位不变,其它位数取反
byte b = -1;
二进制原码:10000001
二进制反码:(符号位不变,其它位取反) 11111110
二进制补码:(反码 + 1) 11111111
4、byte b = (int)150; 运行这行代码打印的b是多少?
150二进制: 00000000 00000000 00000000 10010110
强转为byte类型的b后的二进制:10010110 此时符号位为1 ,说明是一个负数。需要从补码 –> 反码 –> 原码 过程
补码:10010110
反码:10010101
原码:11101010 —–> -106