第二章 运算方法和运算器
主要内容
- 进制位:二、八、十六进制转化
- 符号数表示:原码、反码、补码、移码
- IEEE754标准规格化浮点数
进制位转化
非十进制转为十进制:按权相加
例如:
(101.01)2 = 2的0次方1 + 2的1次方0 + 2的2次方1 + 2的-1次方+0 + 2的-2次方1 = (5.25)10
- 注意: 不要忘记写括号标明进制
十进制转为非十进制
除基取余法 : 适用于整数
例如:(215)10转二进制
215/2 = 107……1 107/2 = 53……1 53/2 = 26……1 26/2 = 13……0 13/2 = 6……1 6/2 = 3……0 3/2 = 1……1 1/2 = 0……1
从下往上读数: 转为二进制为(11010111)2
乘基取余法 : 小数
例如:(0.6875)2转为二进制
0.68752 = 1.3750 0.3752 = 0.75 0.752 = 1.5 0.52 = 1.0
从上向下写: 转为二进制为(0.1011)2
二进制转为八进制、十六进制
八进制:三位三位取
十六进制:四位四位取
符号数表示
第一位:符号位 :0正 1负 其他:有效数值位
原反补码
正数: 原反补码一致
负数:
- 补码: 最高位符号 绝对值按位取反后加一
- 反码:数值位取反
例如:(-1)10 = 【10000001】原 = 【11111111】补 = 【11111110】反码
- 注意: 补码可表示的范围比原码多1
IEEE754浮点数
S(1位) E(8位) M(23位) 共32位
数符 阶码 尾数
真值: X=(-1)s * (1.M) * 2 e
S: 数符 0正1负 E: 阶码 移127 E = e + 127 M: 尾数 :移完后余下23位原码
- 例如: (37.25)10转为IEEE754
1、转为二进制: (100101.01)2 正数: 数符为0
2、把二进制数移位成1.M的形式,移位为几则e为几
e = 5
3、E = e+127 = 5+127 = 132(转为八位二进制) = (10000100)2
4、0 10000100 0010101 0000…… = (42150000)16
- 例如: (BF400000)16转为十进制
数符: 1
阶数: 01111110 E = 126 e = E-127 = -1
尾数: 1000……
x = (-1)s * (1.M) * 2 e
= (-1)*1 * (1.1)2 * 2 -1
= (-1)*1 * (1.5)10 * 0.5
= -0.75