计算机组成原理2 | 青训营笔记

40 阅读2分钟

第二章 运算方法和运算器

主要内容

  • 进制位:二、八、十六进制转化
  • 符号数表示:原码、反码、补码、移码
  • 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