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

Beschreibung

Math.imul() ermöglicht die Multiplikation von 32-Bit-Ganzzahlen mit C-ähnlicher Semantik. Diese Funktion ist für Projekte wie Emscripten nützlich.

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 in imul() gewöhnliche JavaScript-Gleitkommazahlen verwenden, verschlechtert sich die Leistung. Der Grund dafür ist die aufwendige Umwandlung einer Gleitkommazahl in eine Ganzzahl vor der Multiplikation und die anschließende Rückumwandlung des Ergebnisses in eine Gleitkommazahl. Mit asm.js, das es JIT-Optimierern ermöglicht, Ganzzahlen in JavaScript zuverlässiger zu verwenden, könnte die Multiplikation zweier intern als Ganzzahlen gespeicherter Zahlen mit imul() jedoch leistungsfähiger sein. Eine solche interne Speicherung ist nur mit asm.js möglich.

Beispiele

Math.imul() verwenden

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

Browser-Kompatibilität

Siehe auch