模拟卷 组成原理 寄存器类型补码 解答题
第 43 题

(11 分)已知两个实数 ,它们在 C 语言中定义为 float 型变量,分别存放在寄存器 A 和 B 中。另外,还有两个寄存器 C 和 D。A、B、C、D 都是 32 位的寄存器。请问下列问题(要求用十六进制表示二进制序列): (1)寄存器 A 和 B 中的内容分别是什么? (2) 相加后的结果存放在 C 寄存器中,寄存器 C 中的内容是什么? (3) 相减后的结果存放在 D 寄存器中,寄存器 D 中的内容是什么?

寄存器类型 补码

[tag_link]

**【答案】** (1)寄存器 A 中的内容为 0xC2880000,寄存器 B 中的内容为 0xC1040000。 (2)寄存器 C 中的内容为 0xC2988000。 (3)寄存器 D 中的内容为 0xC26F0000。

**【解析】** 对于浮点数采用 IEEE 754 单精度格式(32 位),其中包含 1 位符号位、8 位指数位(偏移量 127)和 23 位尾数位。

**(1)对于 :**

  • 符号位 (负数)。
  • 绝对值 的二进制为 ,科学计数法表示为 ,指数 ,二进制为
  • 尾数 为隐藏最高位 1 后的小数部分 ,扩展至 23 位得到
  • 组合得到二进制 ,十六进制为

**对于 :**

  • 符号位 (负数)。
  • 绝对值 的二进制为 ,科学计数法表示为 ,指数 ,二进制为
  • 尾数 ,扩展至 23 位得到
  • 组合得到二进制 ,十六进制为

**(2) :**

  • 符号位 (负数)。
  • 绝对值 的二进制为 ,科学计数法表示为 ,指数 ,二进制为
  • 尾数 ,扩展至 23 位得到
  • 组合得到二进制 ,十六进制为

**(3) :**

  • 符号位 (负数)。
  • 绝对值 的二进制为 ,科学计数法表示为 ,指数 ,二进制为
  • 尾数 ,扩展至 23 位得到
  • 组合得到二进制 ,十六进制为