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,