標題: C語言除法運算符“/”和取模運算符“%”應用技巧匯總 [打印本頁]
作者: heicad 時間: 2014-10-24 14:05
標題: C語言除法運算符“/”和取模運算符“%”應用技巧匯總
看似兩個很簡單的運算符,卻也真要掌握用好它也不容易,本文作為關于此類運算符的各方面的問題的匯總,希望對你我都有一些幫助。
除法運算符"/"。二元運算符,具有左結合性。參與運算的量均為整型時,結果為整型,舍去小數。如果運算量中有一個為實型,結果為雙精度實型。例如:
5/2=2,1/2=0
5/2.0=2.5
取模運算符"%",二元運算符,具有左結合性。參與運算的量均為整型。取模運算的結果等于兩個數相除后的余數。例如:
5%2=1,1%2=1
5%2.0和5.0%2的結果是語法錯誤
當前面的數小于后面的數時,其實求余運算可以看成
a%b=a-(int)(a/b)*b
1%2=1
2%5=2
a % b
如果a<b的話,這樣的商為0,余數就是a
這個關系表達式a%b=a-(int)(a/b)*b 是這么解釋的
先運算(a/b)然后a-((a/b的值)乘以b)
例1. 100%2
100除以2=50
結果為整數 則取值為0 (原因就是100除以2的值是整數,不是50.……幾)
例2. 9%2
9除以2=4.5
則還是用4乘以2=8
再用9-8 結果就是余數 1
在C語言中,-3/16,16/-3,-3%16,16%-3的值各為多少?
除號的正負取舍和一般的算數一樣,符號相同為正,相異為負
求余符號的正負取舍和被除數符號相同
-3/16=0 16/-3=-5 -3%16=-3 16%-3=1
C語言中,任意一個正整數對1求余結果為0還是1?
是0,如55%1=0
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |