【问题标题】:Given the following, how do I find the number of normalized floating-point numbers and why?鉴于以下情况,我如何找到归一化浮点数的数量,为什么?
【发布时间】:2015-06-22 01:20:23
【问题描述】:

我试图了解浮点数运算在使用二进制系统时如何在计算机科学中发挥作用。我遇到了来自What Every Computer Scientist Should Know About Floating-Point Arithmetic 的摘录,它将规范化数字定义为唯一的浮点数,其前导有效位非零。它继续说......

当β = 2, p = 3, e min = -1 and e max = 2 有16个归一化浮点数,如图D-1所示。

其中β基数p精度e min >是最小指数e max最大指数

我试图理解他是如何得出有 16 个归一化浮点数的结论的,是将可能的有效数字数 β^p 和可能的指数数 相乘e 最大值 - e 最小值 + 1。我的结果是32 个可能的标准化浮点值。我不确定如何获得上述论文中声明的 16 个归一化浮点值 的正确结果。我假设负浮点值被排除在外,但是我没有将它们包括在我的计算中。

这个问题更适合数学公式。但它会帮助我更好地理解浮点运算在计算机科学中的工作原理。

我想知道如何得到 16 个归一化浮点数的正确结果以及为什么。

【问题讨论】:

    标签: binary floating-point


    【解决方案1】:

    由于第一位始终为 1,尾数为 3 位,您只有两位可以变化,产生 4 个不同的尾数值。结合 4 个不同的指数值,即 16。不过我还没有看过论文。

    【讨论】:

    • 我们之前有过分歧,但是关于 WECSSKAFPA 的“我没有看过论文”:+1
    【解决方案2】:

    我试图理解他是如何得出有 16 个归一化浮点数的结论的,是将可能的有效数字数 β^p 和可能的指数数 e max - e min + 1 相乘

    这是正确的,除了可能的有效数字的数量不是 βp 以隐式前导 1 表示的二进制。在这些条件下,可能的有效数字的数量是 βp-1,在 p-1 位上编码。

    换句话说,当编码保留时,可能有效位的缺失值已经被利用,例如,52 位来编码 53 个二进制数字的精度。

    【讨论】:

    • 啊,是的!数字系统令人困惑的问题。 β^p-1 应该用于二进制,因为归一化浮点数的前导值不能为零,并且由于除了 1 之外没有其他数字,因此第一个值是固定的。
    • @WanderingIdiot 有可能明确第一个数字,实际上 8087 这样做是为了简化必须处理扩展精度数字的电路,如 en.wikipedia.org/wiki/… 中所述/跨度>
    猜你喜欢
    • 2015-06-20
    • 1970-01-01
    • 2010-11-23
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多