網頁

2009年12月19日星期六

電腦的誤差

電腦計1+1係唔可能錯,但計小數就有誤差
如果係d無限長既小數,例如e同埋π
用係複雜既計算後,好可能會出現較不開心既誤差!
但係誤差,以民用個人電腦黎講,都算係細!
例如以下個program仔:

#include <iostream>
#include <iomanip>
using std::setprecision;
using std::cout;
int main () {
int x=2147483647;
double p=0.000000000000165;
cout << "---------------------------------------------------\n"
<< setprecision(40)
<<"x equals "< << "---------------------------------------------------\n";
return 0;
}



結果係:

1.650000000000...過左好多個零後出現左d唔需要既冇用既數字
呢d就係電腦計floating point number既error
如果處理器唔夠穩定,重複地用floating point number黎計數
好有可能會有好大既error

沒有留言: