Math.imul()
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
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help! (en-US)
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 |