浮点运算错误界限

标签 floating-point theory ieee-754

给定方程ax^2 + bx + c ,我们知道判别式 D = b^2 - 4ac告诉我们方程是否有两个不同的根 D > 0 ,一个重复根D = 0 ,或者没有真正的根D < 0 。显然,如果判别式为零,则误差可能使其为正或负,具体取决于误差较大的位置。 证明如果判别式非零,则浮点计算中没有错误可以翻转其符号(即从正到负,或从负到正)。错误会使判别式为零吗?

我知道这与实际编程无关,但我到底如何证明 floating point calculation error of the discriminant 是不可能的?导致正判别式 D 以某种方式变为负值,反之亦然。

最佳答案

如果评估判别式产生非零结果,则它与数学上精确的判别式具有相同的符号,这种说法是不正确的。由于这是一个作业题,所以暂时不多说了,只是提示一下:即使最终结果不超出 float 的范围,也可能会发生下溢或溢出。

关于浮点运算错误界限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5560140/

相关文章:

iphone - float* array 到 NSArray, iOS

r - 查找值等于您的值的子集

regex - 将两个正则表达式 A 和 B 组合成 C = (A and not B)

c++ - 为什么下面的中间类型转换会不准确?

javascript - 具有负数和非整数幂的 Math.pow

math - 为什么浮点运算在添加小数时不能给出准确的结果?

objective-c - 检查浮点值是否为整数

sql - 这个不明确的 UPDATE 语句为什么/如何工作?

Android Fragments 共享信息的方式

JavaScript 精度