【问题标题】:Why is the exponent part of floating number so complicated?为什么浮点数的指数部分这么复杂?
【发布时间】:2019-01-05 08:18:37
【问题描述】:

我现在正在研究如何在现代计算机中实现浮点数。 https://en.wikipedia.org/wiki/Single-precision_floating-point_format

我了解浮点数通过三个组件表示:符号、指数和分数。

符号部分非常简单,因为它使用一位来表示数字是正数还是负数。 如果将 8 位分配给指数部分,为什么解释是 2^{x - 127} 而不是简单的 2^{x}?

【问题讨论】:

    标签: floating-point double ieee-754


    【解决方案1】:

    这是比较正指数和负指数的最快方法。

    您有更多信息here

    【讨论】:

    • 哦,那是为了效率!!非常感谢!
    • 那篇维基百科文章中的推理是可疑的,并且没有引用任何来源来声称其使用偏见的动机。 (引用的唯一参考是指定偏差的值。)它说无论位被解释为浮点数还是整数,这些值都是“正确排序的”,但这是错误的:将负浮点视为整数数字是相反的顺序。并且对指数使用偏差而不是二进制补码对速度几乎没有或没有优势;后者只需要反转一位的意义,成本很低。
    • 此外,加速比较并不是一个很好的动机,因为浮点数上最常见的运算是算术运算,而不是比较。应该主要优化格式以支持算术,而不是比较。
    • @EricPostpischil:有偏指数确实可以通过位模式的整数递增或递减来实现nextafter(根据输入的符号和所需的变化方向)。此外,能够在处理符号后使用整个位模式的整数比较的软件浮点似乎很好,而不是也打破尾数/指数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 2019-12-15
    • 2018-09-29
    • 2022-10-01
    • 2012-07-09
    • 1970-01-01
    • 2018-05-12
    相关资源
    最近更新 更多