一漂坏、除法運(yùn)算符"/"
二元運(yùn)算符,具有左結(jié)合性。參與運(yùn)算的量均為?整型?時(shí)顶别,結(jié)果為整型谷徙,舍去小數(shù)。如果運(yùn)算量中有一個(gè)為實(shí)型筋夏,結(jié)果為雙精度實(shí)型蒂胞。例如:
5/2=2图呢,1/2=0
5/2.0=2.5
二条篷、取余、取模運(yùn)算符"%"
通常情況下取模運(yùn)算(mod)和求余(rem)運(yùn)算被混為一談蛤织,因?yàn)樵诖蠖鄶?shù)的編程語(yǔ)言里赴叹,都用'%'符號(hào)表示取模或者求余運(yùn)算指蚜。其為二元運(yùn)算符乞巧,具有左結(jié)合性。參與運(yùn)算的量均為整型摊鸡。取模運(yùn)算的結(jié)果等于兩個(gè)數(shù)相除后的余數(shù)绽媒。例如:
5%2=1,1%2=1
5%2.0和5.0%2的結(jié)果是語(yǔ)法錯(cuò)誤
在這里要提醒大家要十分注意當(dāng)前環(huán)境下'%'運(yùn)算符的具體意義免猾,因?yàn)樵谟胸?fù)數(shù)存在的情況下是辕,兩者的結(jié)果是不一樣的。
對(duì)于整型數(shù)a猎提,b來說获三,取模運(yùn)算或者求余運(yùn)算的方法都是:
1.求 整數(shù)商: c = a/b;
2.計(jì)算模或者余數(shù): r = a - c*b.
求模運(yùn)算和求余運(yùn)算在第一步不同:求余運(yùn)算在取c的值時(shí)锨苏,向0 方向舍入(fix()函數(shù))疙教;而取模運(yùn)算在計(jì)算c的值時(shí),向無窮小方向舍入(floor()函數(shù))伞租。
所謂向0 方向舍入贞谓,就是以小數(shù)點(diǎn)為界限,直接將小數(shù)部分去掉葵诈。如(Int)-1.324=-1(亦叫截?cái)喾ǎ?br>
而向無窮小方向舍入裸弦,就是最終結(jié)果比真實(shí)值更小。如(Int)-1.324=-2驯击;(int此處是強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型)
因此當(dāng)a和b
符號(hào)一致時(shí)烁兰,求模運(yùn)算和求余運(yùn)算所得的c的值一致,因此結(jié)果一致徊都;
符號(hào)不一致時(shí)沪斟,結(jié)果不一樣。
具體來說,求余運(yùn)算結(jié)果的符號(hào)和a一致(截?cái)喾ǎ┲髦竽_\(yùn)算結(jié)果的符號(hào)和b一致(更小法)择吊。
在C語(yǔ)言中,%符號(hào)表示的是求余運(yùn)算槽奕,在Python腳本中几睛,%表示的是取模。(通常取模運(yùn)算中b不允許是負(fù)數(shù)粤攒,但是在python 2.5.1里可以在%后面跟負(fù)數(shù)所森,因?yàn)閜ython語(yǔ)言中除法的結(jié)果是向0舍入,因此計(jì)算結(jié)果是取模:唤印)
總結(jié)來說
求余%就可以當(dāng)做正常的數(shù)學(xué)計(jì)算題來解答焕济,而取模%就需要將C取更小值(減一)來計(jì)算!
部分摘錄:http://blog.csdn.NET/huasion/article/details/6855900