按照ieee標準,0有+0和-0兩種形式,但它們比較結果?在我機器上測試結果是相等,但如果有些平台說不等,那也是很正常的。文章最後的**可以測試+0-0 浮點數是否相等,並列印出它們的記憶體結構。
2)ia32中浮點暫存器是80bit的。儲存在暫存器(計算過程中)的浮點精度是大於double的,這樣弄進記憶體的時候才能四捨五入。假設暫存器精度4位有效數字,記憶體精度3位。計算 1 / 3 = 0.3333(暫存器) -> 0.333 (記憶體) 。那麼就可能發生 ((1/3) != (1/3))這種讓人欲哭無淚的結果,這也是bug323所提到的。不過我沒測試出這種情況。
最後,由於浮點型的精度是有限的,經過運算就可能存在捨入誤差。這樣就可能發生類似 (x / y) * y != x這種情況。所以直接用「==」往往也過於嚴格了。浮點型的比較還是用 abs(f - e)
oracle 查詢日期型別為什麼不能用
對於新手而言,沒有接觸過oracle經常會問oracle 查詢日期型別為什麼不能用 來查詢資料,對於這個問題要注意在等號的兩邊必須資料型別一致,比如 2010 9 19 這是乙個字串不能直接與日期型別字段比較 必須要進行日期轉換 1 日期轉換成字串 to char date,yyyy mm dd 2...
aspen為什麼不能用 地坪漆為什麼不能用在室內?
在很多的營銷號中,人們常說地坪漆為什麼不能在室內使用。但是這種說法是錯誤的,地坪漆的種類居多,不同的地坪的使用地方也不同。不同材料的地坪漆使用的地方也不同,比如在化工廠用在室內的話,那肯定是不可以的。下面我們來解析一下室內地坪。一 工程部位 室內地坪 二 地面施工工藝 基層處理 找標高 彈線 灑水濕...
浮點數的大小比較為什麼不能用等號?
前些天參加深信服面試,面試官問了這樣乙個問題 浮點數的大小比較為什麼不能用等號?那時就沒回答好,因為自己一直把 浮點數大小比較不能夠用等號 當做預設事實而沒有去深究其背後原理。本文將試著解釋這個事實。計算機中是如何儲存和表達數字的?對於整數,情況比較簡單,直接按照數學中的進製轉換方法處理即可,即連續...