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

js
Math.imul(a, b)

Parameter

a

Erste Zahl.

b

Zweite Zahl.

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

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® 2026 Language Specification
# sec-math.imul

Browser-Kompatibilität

Siehe auch