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 statische Methode Math.imul()
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 angegebenen Argumente.
Beschreibung
Math.imul()
ermöglicht eine 32-Bit-Ganzzahlmultiplikation mit C-ähnlicher Semantik. Dieses Feature ist nützlich für Projekte wie Emscripten.
Da imul()
eine statische Methode von Math
ist, verwenden Sie sie immer als Math.imul()
, anstatt als Methode eines von Ihnen erstellten Math
-Objekts (Math
ist kein Konstruktor).
Wenn Sie normale JavaScript-Gleitkommazahlen in imul()
verwenden, wird die Leistung abnehmen. Dies liegt an der aufwendigen Umwandlung von einem Gleitkomma zu einer Ganzzahl zur Multiplikation und dann der Umwandlung der multiplizierten Ganzzahl zurück in ein Gleitkomma. Allerdings könnte mit asm.js, das es JIT-Optimierern ermöglicht, vertrauenswürdiger Ganzzahlen in JavaScript zu verwenden, das Multiplizieren von zwei Zahlen, die intern als Ganzzahlen gespeichert sind (was nur mit asm.js möglich ist), mit imul()
potenziell leistungsfähiger 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® 2025 Language Specification # sec-math.imul |
Browser-Kompatibilität
BCD tables only load in the browser