软考 计算机系统(浮点数)

81 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情

1. 原码补码反码移码

先来个总忘的知识点:

  1. 正数的原码补码反码一致;负数反码是除符号位以外按位求反,负数补码是反码+1。

    补充:0的补码为0 0000000

    补码特性: image.png

  2. 移码就是把对应的补码的符号位取反。

范围:

2. 浮点数

一般形式: image.png E是阶码,F是尾数。

浮点数所表示的数值范围阶码决定,数值的精度尾数决定。

3.浮点数规格化

将尾数的绝对值限定在[0.5,1]

当尾数用补码表示时注意:

  1. 若尾数M>=0,规格化的尾数形式为M=0.1XXXXX,其中,X可为0,也可为1,即将尾数限定在[0.5,1]中
  2. 若尾数M<0,规格化的尾数形式为M=1.0XXXXX,其中,X可为0,也可为1,即将尾数限定在[-1,-0.5]中

若浮点数的阶码用R来表示,尾数用M位的移码表示,

最大的正数: image.png

最小的负数: image.png

3. 寻址

image.png

  1. 立即寻址:操作数就包含在指令里。(最快)
  2. 寄存器寻址:操作数放在某一寄存器中,指令给出寄存器名。(第二)
  3. 直接寻址:寄存器在内存中,指令给出操作数所在存储单元地址。(第三)
  4. 寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。(第四)
  5. 间接寻址:指令中给出操作数地址的地址。(第五)
  6. 相对寻址:指令给出偏移量,操作数地址等于本条指令加上偏移量。
  7. 变址寻址:操作数地址等于变址寄存器的内容加偏移量。

寻址速度:立即寻址>寄存器寻址>直接寻址>寄存器间接寻址>间接寻址