MDN / rem: Wasm numeric instruction
MDN / rem: Wasm numeric instruction
The rem numeric instructions, short for remainder, are used to calculate the remainder left over when one integer is divided by another integer, similar to the % operator in other languages. The rem instructions are only available for the integer types and not for the floating point types.
(module
(import "console" "log" (func $log (param i32)))
(func $main
;; load `10` and `3` onto the stack
i32.const 10
i32.const 3
i32.rem_u ;; calculate the remainder
call $log ;; log the result
)
(start $main)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });
Syntax
;; load two numbers onto the stack
i32.const 10
i32.const 3
;; calculate the remainder of dividing one number by the other
i32.rem
;; the top item on the stack will now be 1 (10 % 3 = 1)
InstructionBinary opcodei32.rem_s0x6fi32.rem_u0x70i64.rem_s0x81i64.rem_u0x82