Math.imul()
Math.imul() 静态方法返回 C 语言风格的 32 位整数乘法运算结果。
试一试
console.log(Math.imul(3, 4));
// Expected output: 12
console.log(Math.imul(-5, 12));
// Expected output: -60
console.log(Math.imul(0xffffffff, 5));
// Expected output: -5
console.log(Math.imul(0xfffffffe, 5));
// Expected output: -10
语法
js
Math.imul(a, b)
参数
返回值
给定参数的 C 语言风格 32 位整数乘法运算结果。
描述
Math.imul() 允许进行具有 C 语言风格语义的 32 位整数乘法。此功能对于 Emscripten 等项目非常有用。
因为 imul() 是 Math 的静态方法,所以您总是使用 Math.imul() 来调用它,而不是通过您创建的 Math 对象的方法来调用(Math 不是构造函数)。
如果您在 imul() 中使用普通的 JavaScript 浮点数,性能会下降。这是因为将浮点数转换为整数进行乘法运算,然后再将乘积转换回浮点数是一个耗时的过程。然而,对于 asm.js,它允许 JIT 优化器更确信地在 JavaScript 中使用整数,使用 imul() 乘法两个内部存储为整数(这仅通过 asm.js 实现)的数字,性能可能会更高。
示例
使用 Math.imul()
js
Math.imul(2, 4); // 8
Math.imul(-1, 8); // -8
Math.imul(-2, -2); // 4
Math.imul(0xffffffff, 5); // -5
Math.imul(0xfffffffe, 5); // -10
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-math.imul |
浏览器兼容性
加载中…