開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
MinGW g++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
我有天剛好需要算到98的5次方時,想說使用cmath/math.h的 pow()函式來運算
發現float的98^5竟然和double的98^5算出來不一樣,直接差在整數位
可是後來去查,發現pow也有float的overloading呀
之後又試了powf(),發現結果還是一樣錯....用codepad跑過也是一樣錯...
後來又用了cmath和math.h都試了也是一樣,不知是否是我誤用?
如果是的話,要怎麼正確對單精度浮點數作指數運算呢?
餵入的資料(Input):
98.0f的 5.0f 次方
預期的正確結果(Expected Output):
9039207968.000000
錯誤結果(Wrong Output):
9039208448.000000
程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/sdqGxWaH
補充說明(Supplement):
詳細就如codepad連結