求余和取模
求余(rem),讓商向0靠近,結果的符號和被除數一樣。
取模(mod),讓商向負無窮靠近,結果的符號和除數一樣。
【舉例】
例子1:
mod(7,3)=1,rem(7,3)=1
候選組1:(q1,r1)=(2,1) 7=2*3+1
候選組2:(q2,r2)=(3,-2) 7=3*3+(-2)
取模:因為q1比q2更加趨近於負無窮,所以取(q1,r1)=(2,1),mod(7,3)=1
求余:因為q1比q2更加趨近於0,所以取(q1,r1)=(2,1),rem(7,3)=1
例子2:
mod(7,-3)=-2,rem(7,-3)=1
候選組1:(q1,r1)=(-2,1) 7=(-2)*(-3)+1
候選組2:(q2,r2)=(-3,-2) 7=(-3)*(-3)+(-2)
取模:因為q2比q1更加趨近於負無窮,所以取(q2,r2)=(-3,-2),mod(7,-3)=-2
求余:因為q1比q2更加趨近於0,所以取(q1,r1)=(-2,1),rem(7,3)=1
例子3:
mod(-7,3)=2,rem(-7,3)=-1
候選組1:(q1,r1)=(-2,-1) -7=(-2)*3+(-1)
候選組2:(q2,r2)=(-3,2) -7=(-3)*3+2
取模:因為q2比q1更加趨近於負無窮,所以取(q2,r2)=(-3,2),mod(7,-3)=2
求余:因為q1比q2更加趨近於0,所以取(q1,r1)=(-2,-1),rem(7,-3)=-1
例子4:
mod(-7,-3)=-1,rem(-7,-3)=-1
候選組1:(q1,r1)=(2,-1) -7=2*(-3)+(-1)
候選組2:(q2,r2)=(3,2) -7=3*(-3)+2
取模:因為q1比q2更加趨近於負無窮,所以取(q1,r1)=(2,-1),mod(7,-3)=-1
求余:因為q1比q2更加趨近於0,所以取(q1,r1)=(2,-1),rem(7,-3)=-1
作者:小婷子
鏈接:https://www.zhihu.com/question/30526656/answer/160437482
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
推薦閱讀:
※AppleScript類自然語言與非英語語法設計
※多維度分析2017年最熱門的編程語言
※C語言基礎:函數的聲明與定義
※關於Vert.x的冷知識
TAG:編程語言 |