Given two integers a and b, with b ≠ 0, there exist unique integers q and r such that
In mathematics the result of the modulo operation is the remainder of the Euclidean division.
In C, the
% operator is often mistakenly referred as modulo operator, but it in fact is the remainder operator, satisfying:
(a / b) * b + a % b = a
(x `quot` y)*y + (x `rem` y) == x
If the divisor is of power of 2, a quick way calculating the modulo is to using
& (b-1), which assumes two’s complement, but it’s ubiquitous anyway.