[討論] double的計算上的問題
目前我在驗証演算法是否正確
用在window底下安裝的 Dev C++下(我習慣先在Dev下驗証)
撰寫一樣計算式的function來驗証值是否正確
以下是意思差不多的code
double value[2];
value[0]=55803.57411;
value[1]=1000000000.000001;
printf("\n %f",value[0]+value[1]);
得到的結果是1000055803.57411
以上是在window底下安裝的 Dev C++執行的結果
跟手算的結果相同
但是我在linux arm底下計算的結果卻是1000055808.0
這很奇怪,一時之間我也不知道是什麼問題
直覺是精確度的問題,但是又認為誤差只有在小數點後幾位才會發生
但也差太多了吧 二個值差了4.多
不知道有無大大知道這是什麼問題呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.147.128.226
→
05/14 11:47, , 1F
05/14 11:47, 1F
→
05/14 11:54, , 2F
05/14 11:54, 2F
→
05/14 12:25, , 3F
05/14 12:25, 3F
→
05/15 01:01, , 4F
05/15 01:01, 4F
→
05/15 03:23, , 5F
05/15 03:23, 5F
→
05/15 05:32, , 6F
05/15 05:32, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章