【发布时间】:2015-10-14 04:11:39
【问题描述】:
问题:
假设我们有一些任意十进制数(如 1.3456),它在最后一位的(十进制)单位中是精确的。我们需要多少个地方没有两个二进制浮点数落入十进制数的不精确范围:
- IEEE 754 单精度
- IEEE 754 双精度
- (也可以考虑其他格式)
另一种询问方式可能是(如果我认为正确的话):需要多少个位置,从常量到浮点的第 2 轮最近的结果对于十进制数的不精确范围?但我不确定它是否更清晰。
背景: 当我以十进制常量的形式获得(或给出)范围要求时(例如,为了与限制进行比较),总是会假设这些常量在机器格式中的表示。当谈到浮点时,我通常会在我的规范中写下类似的内容:“常量限制被假定为 IEEE-754 单精度常量。”但是,如果想要对这些限制进行精确测试,这将无济于事。
【问题讨论】:
-
这里的第一张图 (en.wikipedia.org/wiki/IEEE_floating_point) 不是给您问题的答案吗?
-
嘿。是的,你是对的。有时我真的很盲目。谢谢。
-
This blog post 可能会派上用场。