首页 文章

mininal需要二进制浮点常数的十进制精度

提问于
浏览
0

Question:

假设我们有一些任意的十进制数(如1.3456),它与最后一个位置的(十进制)单位完全相同 . 我们需要多少个地方,没有两个二进制浮点数落入十进制数的不精确范围:

  • IEEE 754单精度

  • IEEE 754双精度

  • (随意考虑其他格式)

另一种要求的方法可能是(如果我认为正确的话):需要多少个位置,从常数到浮点最近的2舍入导致在不精确范围内的所有十进制数的相同浮点数 . 十进制数?但我不确定它是否更清楚 .

Background: 当我以十进制常量的形式得到(或给出)范围要求时(比如,为了与限制进行比较),总是假设这些常量在机器格式中的表示 . 当谈到浮点时,我通常只是在我的规范中写下如下内容:"The constant limits are assumed to be IEEE-754 single precision constants."但如果想要对这些限制进行精确测试,这无济于事 .

1 回答

  • 0

    感谢用户asa commet,我很清楚,对于IEEE 754浮点数,relevant wikipedia articlethis picture之前的答案是正确的 .

    对于我的用例,我只是使用30位数字(因为它很容易记住作为一个常见规则),或者从数学上精确的数字中得出30,并告诉我的测试人员我假设“舍入到最近” .

    此外,为了更准确地关注此问题,请参阅njuffa's comment中提到the blog post

相关问题