在下小嫩嫩C#初學者,想請問前輩關於double 型別的計算問題
我希望計算 f = (x-1)^2 = x^2 -2x +1
在x=1.000000001的值
/****以下是程式碼*****/
double x = 1.000000001;
double f = Math.Pow(x - 1, 2);
/*****第二個寫法****/
double x = 1.000000001;
double f = Math.Pow(x, 2.0) -2.0*x+1.0;
/************************/
在第一個方法我得到結果是 f=1.00000*10^-18
第二個方法得到的結果是f=0 也就是第二個寫法的f好像只有單精度?
不知道問題在哪裡,請各位大大不吝指教!謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.192.82.67