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
Math.imul(a, b)
Parameter
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()
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 GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
imul |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
Siehe auch
- Polyfill von
Math.imul
incore-js
- Emscripten auf Wikipedia