使用 Emscripten 编译此代码:
#include <stdio.h>
int main() {
unsigned long d1 = 0x847c9b5d;
unsigned long q = 0x549530e1;
printf("%lu\n", d1*q);
return 0;
}
产量(使用-g
):
$d1=-2072208547; //@line 3 "minusmul.c"
$q=1419063521; //@line 4 "minusmul.c"
var $2=$d1; //@line 5 "minusmul.c"
var $3=$q; //@line 5 "minusmul.c"
var $4=((($2)*($3))|0); //@line 5 "minusmul.c"
js
使用(SpiderMonkey 我相信?) 或执行此操作node
,我得到结果3217488896
。执行本机可执行文件(使用 GCC 编译),我得到3217489085
. 如何使用 JavaScript 模拟 x86 无符号 32 位整数乘法?