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