转自:
http://bbs.csdn.net/topics/390447100
(一) 浮点数没有经过计算过的类型:
其中有浮点数是不能够在精度范围内比较的,如果直接比较>, < ,==都有可能出错。
如果想比较两个浮点数是否相等,如float.
那么使用:
fabs()<偏差 (这个偏差得可以在精度范围表示,否则 和fabs进行比较的时候, 也会再次出错)
(二)精度范围内都可以表示的浮点数:
但是如果经过计算,那么比较都可能出错。
比较同上
(三)+0.0f, -0.0f的问题
二进制不同,但是硬件机制导致二者比较相同。ieee754规定.
(四)偏差的选取, 由于偏差如果不能够在精度范围内精确的表示,随手选取一个。
会带来比较隐患.