2012-02-20 58 views
5

可能重複:
C programming division目標C INT雙重計算

我試圖計算使用用戶輸入的頻率加速更新的週期。

這是我的代碼:

double interval = 1/Freq; 

間隔=週期

Freq是一個int由用戶設定。

我遇到的問題是讓我說我​​把頻率設置爲2Hz,所以間隔應該是0.5,而不是間隔是0.0000000這是爲什麼?我可以做任何改變它而不改變頻率雙倍?

+0

和許多其他... – JeremyP 2012-02-20 14:37:30

+1

爲什麼不聲明臨時雙你用於計算,離開'Freq'一個int,做'1.0/tmpFreq'? – 2012-02-20 14:57:24

回答

5

您正在使用整數除法:(1Freq都是整數)。所以結果將是一個整數,在這種情況下更確切地說0

你可以做這樣的事情:

double interval = 1.0/Freq; 

或者

double interval = 1/(double)Freq; 
0

做這種方式,

double interval = 1.0/Freq;