1.原码
最高位是符号位,0表示正号,1表示负号,其余n-1位表示数值的绝对值
数值0的原码表示:
[+0]0=0 0000000
[-0]0=1 0000000
例如:带符号为的二进制数:1010,第一位1表示这个数是负数,010是数值,转十进制为2,所以1010转十进制为-2。
(1)使用原码计算
使用原码做加法,可以计算出正确的结果
使用原码做减法,得出的结论不一定正确
应该等于0但是等于-2,是因为符号位引起的
由上可知,不可以使用原码计算
2.反码
正数的反码等于原码
负数的反码就是他的原码除了符号位,其他位按位取反
反码存在的意义就是计算中的中间环节
数值0的反码表示:
[+0]0反码=0 0000000
[-0]0反码=1 1111111
(1)使用反码计算
由上可知,不可以使用反码计算
3.补码
正数的补码等于原码
负数的补码等于反码+1或(2^机器字长-|负数|)的原码
计算机中的加减法都是用补码计算的
数值0的补码表示:
[+0]0反码=0 0000000
[-0]0反码=0 0000000
(1)使用补码计算
4.移码
补码的符号为按位取反
移码主要用途是表示浮点数的指数(阶码)
5.浮点数
N=尾数*基数^阶码
基数:二进制时为2,八进制为8,十进制为10,十六进制为16
尾数:由小数组成,位数越多,数的精度越大
阶码:由整数组成,位数越多,数的表示范围越大
浮点数的表示格式: 阶符 阶码(移码) 数符 尾数(补码)
例:1.25*10^3 尾数1.25 基数10 阶码3
总结
| 正数 | 负数 |
| 原码 | 最高位为符号位0,其他位置放二进制的绝对值 | 最高位为符号位1,其他位置放二进制的绝对值 |
| 反码 | 等于原码 | 原码除符号位外,按位取反 |
| 补码 | 等于原码 | 反码+1或(2^机器长度-|负数|)的原码 |
| 移码 | 补码的符号位取反 |