Math.imul()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die Math.imul()
statische Methode gibt das Ergebnis der C-ähnlichen 32-Bit-Multiplikation der beiden Parameter zurück.
Probieren Sie es aus
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
Syntax
Math.imul(a, b)
Parameter
Rückgabewert
Das Ergebnis der C-ähnlichen 32-Bit-Multiplikation der gegebenen Argumente.
Beschreibung
Math.imul()
ermöglicht 32-Bit-Ganzzahl-Multiplikation mit C-ähnlicher Semantik. Diese Funktion ist nützlich für Projekte wie Emscripten.
Da imul()
eine statische Methode von Math
ist, verwenden Sie sie immer als Math.imul()
und nicht als Methode eines erstellten Math
-Objektes (Math
ist kein Konstruktor).
Wenn Sie normale JavaScript-Gleitkommazahlen in imul()
verwenden, werden Sie eine Leistungseinbuße feststellen. Dies liegt an der aufwendigen Umwandlung von einer Gleitkommazahl in eine Ganzzahl zur Multiplikation und dem anschließenden Zurückwandeln der multiplizierten Ganzzahl in eine Gleitkommazahl. Mit asm.js, das es JIT-Optimierern ermöglicht, sicherer Ganzzahlen in JavaScript zu verwenden, könnte das Multiplizieren von zwei intern als Ganzzahlen gespeicherten Zahlen (was nur mit asm.js möglich ist) mit imul()
potenziell performanter sein.
Beispiele
Verwendung von Math.imul()
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
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-math.imul |