我们在教科书上经常看到,想判断两个浮点数是否相等,往往不能直接用 == 判断。这是因为浮点数的运算经常有误差,导致结果有细小的误差,在判断 『More』
吖恶俗牙色阿欢欢 - 回复 | (1980) | 好人和坏人大河人云亦 | 2008-06-06 03:12:20
我觉得降低精度的方法有问题。 二进制数: 1.00000 和 0.11111比较 『More Lines』- 回复 | (962) | kaikai | 2006-02-14 09:39:59
如果有人对浮点数比较的问题有兴趣, 这里给个参考链接 :) 当然如上面我的一个回帖所说, 我的原意倒并非讨论浮点数比较的.
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
纠正一个错误, FCMP 的结果并不能影响标记寄存器,然后用于条件跳转。还需要做一次对 ax 的整数比较.
& 操作只需要一条整数指令就可以完成, 不 『More』 - 回复 | (414) | 云风 | 2004-07-18 12:34:57
云风真有趣,还跟我说些“纠正你的一个错误”这样的话。古人云“曲有误,周郎顾”。弹琴时一个偶然的花音能够博得周郎的回头一笑,也算是意外收获吧。
你说些题外话,我也说些题外话。我对你的这篇回应主要的也不是跟你争论这一个小段的编程效率究竟如何的问题,主要是我从你的这篇文章之中看到一些危险的苗头,你如果不及时纠正这些苗头,你们公司有可能会在鼎盛时期突然衰落,整个公司几十号人全部去喝西北风。推荐你看一篇文章,名字叫做《Borland传奇》,对于你这个位置上的人物是一篇合适的教材。位置上得越高,具体的编程细节越来越成为雕虫小技。你越是醉心于这些雕虫小技,你们公司就越有可能累死累活一整年赚不到钱,整个公司全部去喝西北风。2000年的时候,你这个网站就以算法方面的成就闻名。工作以后由于各种各样的压力,网站失于维护属于正常。陈江宁的网站你去过吧?97年以后就一直没有维护过了。以你现在的位置,人们愿意多听你谈论一些公司战略发展的前瞻性思考,但是这有可能涉及你公司的秘密,有可能不适于在网络上公开谈及。作为对你网站风格的一种继承,多发表一些算法方面的文章对你而言算是比较合适的做法。我现在失业,没事干也在研究算法,有关程序段陆陆续续也在自己的网站发表,以后我们多交流。
我们公司不是几十号人. 是上千号人. 我是公司最底层程序员. 公司战略发展什么的是公司里至少比我高 3 个级别的人考虑的. - 回复 | (417) | 云风 | 2004-07-18 02:30:56