float x付呕;
千萬不要寫x==0;
寫出float x 與“零值”比較的if語句——一道面試題分析
寫出float x 與“零值”比較的if語句
請寫出 float x 與“零值”比較的 if 語句:
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
不可將浮點變量用“==”或“!=”與數(shù)字比較,應(yīng)該設(shè)法轉(zhuǎn)化成“>=”或“<=”此類形式免都。
EPSINON 應(yīng)該是一個很小的值吧 因為計算機(jī)在處理浮點數(shù)的時候是有誤差的疙剑,所以判斷兩個浮點數(shù)是不是相同淌山,是要判斷是不是落在同一個區(qū)間的,這個區(qū)間就是 [-EPSINON,EPSINON] EPSINON一般很小蚁滋,10的-6次方以下吧,具體的好像不確定的赘淮,和機(jī)器有關(guān)