![]() |
C 教材:整數計算 |
在 fahr-40.c 中,我們以
cels = 5*(fahr-32)/9;計算華氏與攝氏溫度的轉換。 要注意的是,= 號右邊的所有變數 (fahr) 和常數,都是整數。 如果 C 看到一個四則運算符號的兩邊都是整數,它會採用整數算法。 這對 + - * 都無所謂,但是遇到 / 就有問題了。 整數的除法,只得到整數的商,不管餘數。也就是所謂的「無條件捨去」。 因此,
3/9 8/9 9/9 20/9 100/9被 C 計算的結果分別是
0 0 1 2 11
因此,我們看到,用這種計算來做華氏與攝氏溫度的轉換, 實非上策。我們應該要使用帶著小數的數字來計算,得到的結果比較準確。 我們在下一節就這麼做。
習題
12+6/9 (12+6)/9 12-6/9 (12-6)/9
![]() |
![]() |
單維彰 (2000/03/23) --- |