【发布时间】:2021-08-11 19:48:53
【问题描述】:
我正在用 Java 编写一个 Webassembly 运行时。一条指令是i32.wrap_i64指令,定义为
返回 i 模 2^N 。
(其中 N = 32)并且应该将 64 位整数转换为 32 位整数(参见 op-wrap)。
很遗憾,我无法理解这一点。我当然可以写
return (int) (i % (1 << 32))
但是 IntelliJ 已经暗示这整个表达式可以被 0 替换,如果我执行它,这也是结果。
当然,这不是指令应该是什么,但它应该是什么? 2^32 是一个很大的数字,在这里没有多大意义。我想它应该是一些位的东西,但是什么?
【问题讨论】:
-
只有低 32 位。
标签: java webassembly