整数除算の流儀 整数除算は割り切れなかった時の商の扱い方によって何種類かに分類でき、商を0に向かって切り捨てるものと、-\inftyに向かって切り下げる(床関数)ものの2種類がよく使われます。この記事ではこれらの関係を見ていきます。 ここではquot, rem, div, modを次のように定めます。ただし、\mathrm{trunc}(x)はxと同じ符号を持ち、絶対値が\lvert x\rvertを超えない最大の整数であるような整数です。 \begin{aligned} \mathrm{quot}(n,d)&:=\mathrm{trunc}(n/d), \\ \mathrm{rem}(n,d)&:=n-\mathrm{quot}(n,d)\cdot d, \\ \mathrm{div}(n,d)&:=\lfloor n/d\rfloor, \\ \mathrm{mod}(n,d)&:=n