C/C++模運算(正負整數)

幽靈軒發表於2020-11-09

模運算

模運算:又稱為取餘運算

正整數的模運算

對於正整數a,b
如果\(a=q\times b+r\)其中\(0\le r < b\)
則有\(a \bmod b=r\)\(a\%b=r\)

負整數的模運算

不同的語言的負數取模運算不一樣,
這一個涉及到取整函式tranc和floor

tranc函式:向0取整

例如C/C++,java中採用的是tranc
\( r=a-b\times tranc(\cfrac{a}{b}) \)

floor函式:向負無窮取整

\(r=a-b\times \lfloor \cfrac{a}{b} \rfloor\)

取整函式不大理解的可以見四種取整函式

相關文章