原码转各种码
- 正数的原码,补码,反码相同;
- 负数的反码:原码的数值取反;
- 负数的补码:原码转换成反码,反码末位加1
- 负数的移码:与补码的符号位(第一位数字)相反
补码转原码
- 最高位如果是1的话(负数),那么除了最高位之外的取反,然后加1得原码
- 最高位如果是0的话,不变,正数的补码就是他的原码
二进制转十进制(按权展开法)
- eg:N = (01100101)= 1 * 2^6 + 1 * 2^5 + 1* 2^2 +1 = 101
十进制转二进制
- 整数(重复相除法)
- 小数(重复相乘法)
浮点数:
- 单精度浮点数:4字节、32位(float)
- 双精度浮点数:8字节、64位(double)
浮点数规格化:
例题:
浮点数字长16位,阶码5位,位数11位
十进制13/128表示二进制浮点数
原码 = 反码 = 补码 = 0.0001101000
浮点数规格化:x = 0.1101000 * 2^-11
尾数:1101000000
尾数符:0
阶符:1
阶码:0011
对应下表
阶码符号位 | 阶码数值位 | 尾数符号位 | 尾数数值位 |
---|---|---|---|
1 | 0011 | 0 | 1101000000 |