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

js
Math.imul(a, b)

Parameter

a

Erste Zahl.

b

Zweite Zahl.

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()

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

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-math.imul

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch