modulo

operator

Return type:
Integer
Returns:
The remainder.
Syntax
numeric-expression modulo numeric-expression


Purpose

Use modulo to find the modulus of a number with respect to a base value. The modulus is the remainder from dividing the number by the base value.

To use BCD numbers in a modulo operation, you must import the ombcd.xmd file in your program. To use floating point numbers, import the omfloat.xmd file.

You can use values of mixed data types (for example, BCD numbers and integers) as long as you follow the rules listed in Operations with mixed data types.

Integer example:

  process
     local integer seconds initial {3700}
     local integer minutes
     local integer hours
     local integer days
     
     set minutes to seconds / 60
     set seconds to seconds modulo 60
     set hours to minutes / 60
     set minutes to minutes modulo 60
     set days to hours / 24
     set hours to minutes modulo 24
     output "Days: "
         || "d" % days
         || "; Hours: "
         || "d" % hours
         || "; Minutes: "
         || "d" % minutes
         || "; Seconds: "
         || "d" % seconds
         || "%n"
  ; Output: "Days: 0; Hours: 1; Minutes: 1; Seconds: 40"

Mixed data type example:

  import "ombcd.xmd" unprefixed
  process
     local bcd seconds initial {3700}
     local bcd minutes
     local bcd hours
     local bcd days
     
     set minutes to truncate (seconds / 60)
     set seconds to seconds modulo 60
     set hours to truncate (minutes / 60)
     set minutes to minutes modulo 60
     set days to truncate (hours / 24)
     set hours to minutes modulo 24
     output "Days: "
         || "d" % days
         || "; Hours: "
         || "d" % hours
         || "; Minutes: "
         || "d" % minutes
         || "; Seconds: "
         || "d" % seconds
         || "%n"
  ; Output: "Days: 0; Hours: 1; Minutes: 1; Seconds: 40"

Related Concepts