5
我試圖計算使用用戶輸入的頻率加速更新的週期。
這是我的代碼:
double interval = 1/Freq;
間隔=週期
Freq是一個int由用戶設定。
我遇到的問題是讓我說我把頻率設置爲2Hz,所以間隔應該是0.5,而不是間隔是0.0000000這是爲什麼?我可以做任何改變它而不改變頻率雙倍?
我試圖計算使用用戶輸入的頻率加速更新的週期。
這是我的代碼:
double interval = 1/Freq;
間隔=週期
Freq是一個int由用戶設定。
我遇到的問題是讓我說我把頻率設置爲2Hz,所以間隔應該是0.5,而不是間隔是0.0000000這是爲什麼?我可以做任何改變它而不改變頻率雙倍?
您正在使用整數除法:(1
和Freq
都是整數)。所以結果將是一個整數,在這種情況下更確切地說0
。
你可以做這樣的事情:
double interval = 1.0/Freq;
或者
double interval = 1/(double)Freq;
做這種方式,
double interval = 1.0/Freq;
和許多其他... – JeremyP 2012-02-20 14:37:30
爲什麼不聲明臨時雙你用於計算,離開'Freq'一個int,做'1.0/tmpFreq'? – 2012-02-20 14:57:24