#10432: 不能相信浮點數的四捨"侮辱"->(意義不明)


Thebigbang (喜憨外星人)

學校 : 國立臺中第一高級中學
編號 : 32618
來源 : [61.219.170.5]
最後登入時間 :
2020-07-29 20:12:21
a647. 投資專家 | From: [61.64.171.82] | 發表日期 : 2015-11-06 22:32

double x;

while(x <= 5){

  x+=0.05;

  printf("%.2lf %.1lf\n",x,x);

}

可以自己測看看他各種奇怪的行為

想知道為什麼的話自己Google"浮點數誤差"

總之這題就用整數去做處理就好惹

也就是各種"取除數"和"取餘數"

題目要小數點下兩位(第三位四捨五入)->好像沒說清楚

偷偷告訴你有一個測資是:20000 21797

 
#10503: Re:不能相信浮點數的四捨


geminibaga (geminibaga)

學校 : 不指定學校
編號 : 54758
來源 : [140.116.239.180]
最後登入時間 :
2024-04-10 12:03:45
a647. 投資專家 | From: [36.233.170.29] | 發表日期 : 2015-11-26 02:56

double x;

while(x <= 5){

  x+=0.05;

  printf("%.2lf %.1lf\n",x,x);

}

可以自己測看看他各種奇怪的行為

想知道為什麼的話自己Google"浮點數誤差"

總之這題就用整數去做處理就好惹

也就是各種"取除數"和"取餘數"

題目要小數點下兩位(第三位四捨五入)->好像沒說清楚

偷偷告訴你有一個測資是:20000 21797



我也是在那個測資卡的,還特別改一下程式碼讓它特地輸出那一題的題目

然後才知道是浮點數精準度的問題...

之後就先把a.bcd~%先轉換成abcd.~~ 進行除數與餘數後就解開了...

 
#10630: Re:不能相信浮點數的四捨


d2513850 (林勇智)

學校 : 崑山科技大學
編號 : 5102
來源 : [27.53.131.137]
最後登入時間 :
2024-11-17 10:12:31
a647. 投資專家 | From: [219.68.155.168] | 發表日期 : 2016-01-12 23:10

double x;

while(x <= 5){

  x+=0.05;

  printf("%.2lf %.1lf\n",x,x);

}

可以自己測看看他各種奇怪的行為

想知道為什麼的話自己Google"浮點數誤差"

總之這題就用整數去做處理就好惹

也就是各種"取除數"和"取餘數"

題目要小數點下兩位(第三位四捨五入)->好像沒說清楚

偷偷告訴你有一個測資是:20000 21797

zerojudge的浮點數採用一個叫"奇進偶捨"規則

見https://zh.wikipedia.org/wiki/%E5%A5%87%E9%80%B2%E5%81%B6%E6%8D%A8

 
ZeroJudge Forum