[問題]請教減少誤差的寫法~

看板java作者 ( 笨)時間19年前 (2006/04/24 11:43), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
這是我的題目: f:[0,1] ---> [0,1] f(x)=3x mod 1 如x(0)=1/10 x(1)=3/10 x(2)=9/10 x(3)=7/10 x(4)=1/10 ......... 我們的程式: public class allwin { public static void main(String args[]) { double i=1/10.0; int j,n; n=10; System.out.println(+i); for(j=0;j<=n;j++) { i*=3; i%=1; System.out.println(+i); } } } 我們只取10次~但其實要做到50次以上~ 可是我們做出來會有誤差~ x(0)=0.10000000000000001 x(1)=0.30000000000000004 x(2)=0.90000000000000013 x(3)=0.70000000000000018 x(4)=0.10000000000000053 ............. 如此一來~做到50次的時候勢必會有過大的誤差~ 有沒有能減少誤差的方法呢? (第一次在此PO文~格式如有不妥請見諒) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.100.6
文章代碼(AID): #14J4bRSG (java)
文章代碼(AID): #14J4bRSG (java)