MDN will be in maintenance mode on Thursday September 21st, starting at 10 AM Pacific / 5 PM UTC, for about 1 hour.

Die Math.imul() Funktion führt eine C änliche 32-Bit Multiplikation der zwei Parameter durch.
 

Syntax

Math.imul(a, b)

Parameter

a
Erste Nummer.
b
Zweite Nummer.

Rückgabewert

Das Resultat der C-ähnlichen 32-Bit Multiplikation der übergebenen Parameter.

Beschreibung

Math.imul() erlaubt es schnelle 32-Bit Ganzzahlmultiplikationen mit C ähnlicher Semantik durchzuführen. Diese Funktion ist nützlich für Projekte wie Emscripten. Weil imul() eine statische Methode von Math ist, muss man immer Math.imul() benutzen und nicht als Methode eines Math Objektes, dass man erzeugt (Math ist kein Konstruktor).

Beispiele

Einsatz 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

Polyfill

Diese Funktionalität kann durch folgende Funktion emuliert werden:

Math.imul = Math.imul || function(a, b) {
  var ah = (a >>> 16) & 0xffff;
  var al = a & 0xffff;
  var bh = (b >>> 16) & 0xffff;
  var bl = b & 0xffff;
  // the shift by 0 fixes the sign on the high part
  // the final |0 converts the unsigned value into a signed value
  return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
};

Spezifikationen

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Math.imul' in dieser Spezifikation.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Math.imul' in dieser Spezifikation.
Lebender Standard  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung28(Ja)20Nein167
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Grundlegende Unterstützung(Ja)(Ja)(Ja)20Nein(Ja)7

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,