【转】浮点数之间的比较
生活随笔
收集整理的這篇文章主要介紹了
【转】浮点数之间的比较
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
比較浮點(diǎn)數(shù)的時(shí)候要用諸如a-b<="一個(gè)一定精度的小數(shù)",不能直接用a==b 最關(guān)鍵是浮點(diǎn)數(shù)實(shí)際上是二進(jìn)制的"科學(xué)計(jì)數(shù)法", 每個(gè)十進(jìn)制的數(shù)化成二進(jìn)制小數(shù)時(shí), 與我們想像的可能差別比較大. 一個(gè)十進(jìn)制不循環(huán)的小數(shù), 可能在二進(jìn)制中實(shí)際是循環(huán)小數(shù), 只能用近似值來表示. 所以二進(jìn)制比較相等時(shí)要小心. 另外, 比如, 我們?cè)谌粘S?jì)算時(shí), 把10000個(gè)0.1加起來是1000, 而在用浮點(diǎn)數(shù)計(jì)算時(shí), 0.1是近似的, 加10000次以后誤差就會(huì)放大, 而不是1000了, 所以用浮點(diǎn)數(shù)做循環(huán)條件時(shí)也要注意.其實(shí)這不是C/C++的問題. 浮點(diǎn)數(shù)均如此. 在PC上用的浮點(diǎn)數(shù)格式如單精度, 雙精度, 都有這個(gè)問題.總之, 時(shí)時(shí)記住整型是準(zhǔn)的, 浮點(diǎn)型是近似的.
轉(zhuǎn)載于:https://www.cnblogs.com/xiangniu/archive/2011/03/25/1995295.html
總結(jié)
以上是生活随笔為你收集整理的【转】浮点数之间的比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】浅析动态代理类实现过程
- 下一篇: Hibernate @JoinTable