C語言中關於除法和取餘的理解
阿新 • • 發佈:2019-01-30
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=50
結果為整數 則取值為0 (原因就是100除以2的值是整數,不是50.…………幾)
例2.
9除以2=4.5
則還是用4乘以2=8
再用9-8 結果就是餘數
轉:在C語言中,-3/16,16/-3,-3%16,16%-3的值各為多少?
除號的正負取捨和一般的算數一樣,符號相同為正,相異為負
求餘符號的正負取捨和被除數符號相同
-3/16=0 16/-3=-5 -3%16=-3 16%-3=1