| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Numeric/wrap_i64 | [Back] [Original] |
Get to know MDN better
The wrap_i64 numeric instruction is used to convert numbers of type i64 to type i32. If the number is larger than what an i32 can hold this operation will wrap, resulting in a different number.
One can think of wrap either as reducing the value mod 232, or as discarding the high 32 bits to produce a value containing just the low 32 bits.
(module
(import "console" "log" (func $log (param i32)))
(func $main
i64.const 10 ;; push an i64 onto the stack
i32.wrap_i64 ;; wrap from i64 to i32
call $log ;; log the result
)
(start $main)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });
;; push an i64 onto the stack
i64.const 10
;; wrap from i64 to i32
i32.wrap_i64
;; the top item on the stack will now be the value 10 of type `i32`
| Instruction | Binary opcode |
|---|---|
i32.wrap_i64 |
0xa7 |
| Specification |
|---|
| WebAssembly Core Specification # numeric-instructions%E2%91%A8 |
This page was last modified on Jul 24, 2026 by MDN contributors.
Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |