Math.imul()

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 2017 Draft (ECMA-262)
Die Definition von 'Math.imul' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 28 20 (20) ? 16 7
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? 20.0 (20) ? ? 7

Schlagwörter des Dokuments und Mitwirkende

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