我们在教科书上经常看到,想判断两个浮点数是否相等,往往不能直接用 == 判断。这是因为浮点数的运算经常有误差,导致结果有细小的误差,在判断 『More』
吖恶俗牙色阿欢欢 - 回复 | (1980) | 好人和坏人大河人云亦 | 2008-06-06 03:12:20
我觉得降低精度的方法有问题。 二进制数: 1.00000 和 0.11111比较 1.00000 指数0 1.11110 指数-1 降低尾数精度得到 1.00000 指数0 1.11100 指数-1 由于指数不同,比较结果为不同。
如果有人对浮点数比较的问题有兴趣, 这里给个参考链接 :) 当然如上面我的一个回帖所说, 我的原意倒并非讨论浮点数比较的.
http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm - 回复 | (415) | 云风 | 2004-07-18 12:53:15
对于一个除了奔腾之外其它什么硬件都不用的程序员来说,这种说法是傻不啦叽。
你自己也知道,对于奔腾系列来说 fabs(a-b)<0.00001 语句最终汇编 『More』 - 回复 | (413) | BenevolentLiao | 2004-07-17 05:49:53