#7788: 運算時的型態轉換竟影響計算結果


sunset (sunset)

學校 : 臺北市立松山高級中學
編號 : 22388
來源 : [140.113.123.218]
最後登入時間 :
2015-10-12 15:32:33
d809. 黑暗土地 | From: [123.192.13.12] | 發表日期 : 2013-05-24 22:12

在行行列式計算時,我將廚2這個動作搬到最後輸出時在做

所以在行列式運算時全部都是int

結果最後 float area = max / 2;

在 0,0  1,0  0,1 會輸出0

所以要   float area = (float)max / 2;

才會輸出0.5

 

原理是為什麼阿??

 
#15762: Re:運算時的型態轉換竟影響計算結果


wish.rirf@gmail.com (C++ 與我)

學校 : 臺北市私立薇閣高級中學
編號 : 82132
來源 : [36.224.41.96]
最後登入時間 :
2021-08-07 19:29:31
d809. 黑暗土地 | From: [114.136.227.204] | 發表日期 : 2018-10-27 13:25

在行行列式計算時,我將廚2這個動作搬到最後輸出時在做

所以在行列式運算時全部都是int

結果最後 float area = max / 2;

在 0,0  1,0  0,1 會輸出0

所以要   float area = (float)max / 2;

才會輸出0.5

 

原理是為什麼阿??

precision lost when converting int and float

 
ZeroJudge Forum