3

考虑以下基于 IEEE 浮点格式的8 位(是的,8 位,不是 8 字节)浮点表示。

  1. 格式 A:
    有一个符号位。
    有 k=3 个指数位。
    有 n=4 个小数位。

  2. 格式 B:
    有一个符号位。
    有 k=4 个指数位。
    有 n=3 个小数位。

下面给出了模式 A 的一些位模式。你的任务是找出格式 A 给出的数字的值,并将它们转换为格式 B 中最接近的值。

Format A                       Format B
  Bits             Value          Bits 
  1 010 1000 
  1 110 0000 
  0 101 1010 
  0 000 1001

这是家庭作业...我不想为我完成作业。我只是想学习如何转换。浮点数让我非常困惑。

有人可以制作一个“格式A”并告诉我如何逐步获得价值/转换吗?

4

1 回答 1

3

这个问题缺少许多对定义浮点格式很重要的细节。我将尝试通过假设未指定的所有内容都遵循 IEEE Std 754-2008 IEEE 浮点算术标准中二进制交换格式的通用规则来回答问题的第一部分,以填补缺失的信息。

根据标准中的表 3.3,格式 A 的给定参数是k =8 和p =5(斜体字母是标准中的参数,不是问题)。

由此,以及标准中的公式,bias = emax = 2**( k - p - 1) - 1 = 3。

以位 0 001 0011 为例

分数是二进制的 0011/10000,十进制的 3/16 = 0.1875。指数位非零,因此它是一个正常值,具有未存储的前导一位,因此有效数为 1.1875。

指数为二进制 001-011,十进制 1-3 = -2。

将有效数乘以 2**(-2) = 1/4,得到绝对值 0.296875。由于符号位为零,因此绝对值是最终值。

于 2013-09-09T21:56:02.117 回答