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 |
瀏覽器相容性
載入中…