Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Math.imul()

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

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 gegebenen Argumente.

Beschreibung

Math.imul() ermöglicht eine 32-Bit-Ganzzahlmultiplikation 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 von Ihnen erstellten Math-Objekts (Math ist kein Konstruktor).

Wenn Sie normale JavaScript-Gleitkommazahlen in imul() verwenden, werden Sie einen Leistungsverlust feststellen. Dies liegt an der kostenintensiven Umwandlung von einer Gleitkommazahl in eine Ganzzahl zur Multiplikation und der anschließenden Rückumwandlung der multiplizierten Ganzzahl in eine Gleitkommazahl. Mit asm.js, das JIT-Optimierern erlaubt, sicherer Ganzzahlen in JavaScript zu verwenden, kann die Multiplikation von zwei im Inneren 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

Spezifikation
ECMAScript® 2026 Language Specification
# sec-math.imul

Browser-Kompatibilität

Siehe auch