mod | modulo operator |
Syntax | mod
|
Description | The mod (modulo) operator produces the modulo of one number with another. In other words, the result is always a number between 0 and the second operand. If both operands are positive, the result is identical to the remainder operator. For example, 7 mod 2 produces 1 and 12 mod 5 produces 3.
|
Example | In this example, hours is the current time. It is moved back and forth by a random amount, but the final result must always be between 1 and 12 (the mod operation produces a number between 0 and 11 and then 0 becomes 12).
var hours : int := 12 var hoursPassed : int put "The time is now ", hours, " o'clock" loop randint (hoursPassed, -12, 12) exit when hoursPassed = 0 if hoursPassed < 0 then put hoursPassed, " hours before " .. else put hoursPassed, " hours later " .. end if put hours, " o'clock" .. hours := (hours + hoursPassed) mod 12 if hours = 0 then hours = 12 end if put " it was ", hours, " o'clock" end loop |
Details | If the second operand is positive, then the result is always non-negative. Likewise, if the second operand is negative, then the result is always non-positive. If both operands are negative, the result is the same as the remainder operator.
|
See also | infix operators, precedence of operators and the rem and div operators.
|