没有扩展精度FPU的数字陷阱

时间:2011-07-26 12:33:03

标签: floating-point ieee-754 numerical numerical-methods numerical-analysis

Monniaux的优秀文章"The Pitfalls of Verifying Floating Point Arithmetic"给出了意外数值行为的例子。但是,大多数示例依赖于扩展精度FPU或扩展精度操作(例如乘法累加)。除了有符号的零和涉及NaN的比较之外,当扩展精度硬件被禁用时,是否存在令人惊讶的数值行为的好例子?

1 个答案:

答案 0 :(得分:4)

程序员经常会感到惊讶的一个例子是x + 1 == x。在单精度浮点中,由于尾数的精度有限,x2^25一样小。当通过较小的时间步长递增模拟中的时间值时,通常会出现这种情况。 similar problem {{3}}影响了爱国者导弹。