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 die 32-Bit-Ganzzahlenmultiplikation mit C-ähnlicher Semantik. Diese Funktionalität ist nützlich für Projekte wie Emscripten.

Da imul() eine statische Methode von Math ist, wird sie immer als Math.imul() verwendet und nicht als Methode eines von Ihnen erstellten Math-Objektes (Math ist kein Konstruktor).

Wenn Sie normale JavaScript-Gleitkommazahlen in imul() verwenden, wird die Performance beeinträchtigt. Dies liegt an der aufwändigen Umwandlung von einer Gleitkommazahl in eine Ganzzahl für die Multiplikation und der anschließenden Umwandlung der multiplizierten Ganzzahl zurück in eine Gleitkommazahl. Mit asm.js, das JIT-Optimierer dazu befähigt, 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 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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
imul

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch