机器数值
在计算机中数值的表示方法为0或者1,所有的数字都有由0和1组合表示出来的,不同的0和1的组合赋予了不同的含义. 8个0或者1组合成了一个字节,就是所谓的一个字节由8位组成. 后面数值如果没有特殊说明,都默认为1个字节(8位).
真值
二进制 | 十进制 |
---|
00000000 | 0 |
··· | ··· |
11111111 | 255 |
原码
- 第一位为符号位(0表示正数,1表示负数),后七位为数值位
二进制 | 十进制 |
---|
00000000 | 0 |
··· | ··· |
01111111 | 127 |
10000000 | 0 |
··· | ··· |
11111111 | -127 |
反码
正数的反码
= 正数的原码
负数的反码
= 负数的符号位不变,其余各位取反
二进制原码 | 二进制反码 |
---|
0xxxxxxx | 0xxxxxxx |
10000000 | 11111111 |
··· | ··· |
10001111 | 11110000 |
··· | ··· |
11111111 | 10000000 |
补码
正数的补码
= 正数的bu码
负数的补码
= 负数的符号位不变,其余各位取反,最后再加1
二进制原码 | 二进制补码 |
---|
0xxxxxxx | 0xxxxxxx |
10000000 | 00000000 |
··· | ··· |
10001111 | 11110001 |
··· | ··· |
11111111 | 10000001 |
补充: