This is a new technology, part of the ECMAScript 2015 (ES6) standard .
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.
La funció Math.imul()
retorna el resultat de la multiplicació de 32 bits similar a la de C dels dos paràmetres.
Sintaxi
Math.imul(a, b)
Paràmetres
a
- Primer nombre.
b
- Segon nombre.
Descripció
Math.imul()
permet una multiplicació ràpida de nombres sencers de 32 bits amb una semàtica similar a la de C. Aquesta característica esdevé útil per a projectes com Emscripten. Com que imul()
és un mètode estàtic de Math
, sempre s'utilitza com Math.imul()
en comptes de com un mètode d'un objecte Math
creat (Math
no és un constructor).
Exemples
Utilitzar 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
Aquesta funció pot ser emulada mitjançant la següent funció:
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; // el desplaçament de zero posicions solventa el signe a la part més significativa // el |0 del final converteix el valor sense signe en un valor amb signe return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); };
Especificacions
Especificació | Estat | Comentaris |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Math.imul' in that specification. |
Standard | Definició inicial. |
Compatibilitat amb navegadors
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suport bàsic | 28 | 20 (20) | ? | 16 | 7 |
Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Suport bàsic | ? | ? | 20.0 (20) | ? | ? | 7 |