Модуль деления довольно прост. Он использует остаток вместо частного.
1.0833... <-- Quotient
__
12|13
12
1 <-- Remainder
1.00 <-- Remainder can be used to find decimal values
.96
.040
.036
.0040 <-- remainder of 4 starts repeating here, so the quotient is 1.083333...
13/12 = 1R1, следовательно 13% 12 = 1.
Помогает думать о модуле как о "цикле".
Другими словами, для выражения n % 12
результат будет всегда будет <12. </p>
Это означает, что последовательность для набора 0..100
для n % 12
:
{0,1,2,3,4,5,6,7,8,9,10,11,0,1,2,3,4,5,6,7,8,9,10,11,0,[...],4}
В этом свете модуль, а также его использование становятся намного понятнее.