剛在作C的題目,要求Armstrong數
需要求x的3次方,我就用了math.h 裡的pow()這個函數:pow(x,3)
結果答案一直不對,debug之後發現
pow(5,3)的回傳值居然不是125!!! 而是124!!!
這個結果實在是太令我震驚了!!!
上網一查,原來pow的參數類型是:pow(double ,double)
是雙精度浮點數啊啊啊!!意思就是一定會有誤差!!!
被暗算到的我,決定乖乖用 x*x*x 來解決這個問題
zzz
===
寫個程式跑跑看 i =1~100,求 i 平方,直接乘 ( i * i )跟 使用 Pow() 來做,不同的情況有多少
結果如下:超多不一樣的-.- 太長就不全部貼出來了
比較sum(用整數 i * i 的方法做的)跟 powpow (用pow ( ) 函數作的)
結果都差1...
果然,如果要求 ( 整數 的 整數 次方 ),還是要乖乖的使用 i * i * i * i.....的形式
文章標籤
全站熱搜
留言列表