计算机内二进制码为二进制补码形式
正数的二进制原码补码反码相同
0000 0000 0000 0001 原码
0000 0000 0000 0001 补码
0000 0000 0000 0001 反码
负数的补码为原码加一 反码为原码加一 首位符号位不变其余部分取反
1000 0000 0000 0001 原码
1000 0000 0000 0010 补码
11111 1111 1111 1101 反码
简单的进制转换
例如150(十进制)
.... 256 128 64 32 16 8 4 2 1
1 0 0 1 0 1 1 0 (150二进制)
byte b = (byte)150; System.out.print(b);
输出为 -106
计算机内存的是反码
10010110 的原码是 11101010 则该数是-106
byte b = (byte)257; System.out.print(b);
输出为1 257-256=1