aboutsummaryrefslogtreecommitdiff
path: root/files/ca/web/javascript/reference/global_objects/math/imul/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ca/web/javascript/reference/global_objects/math/imul/index.html')
-rw-r--r--files/ca/web/javascript/reference/global_objects/math/imul/index.html121
1 files changed, 121 insertions, 0 deletions
diff --git a/files/ca/web/javascript/reference/global_objects/math/imul/index.html b/files/ca/web/javascript/reference/global_objects/math/imul/index.html
new file mode 100644
index 0000000000..a82ab70eb5
--- /dev/null
+++ b/files/ca/web/javascript/reference/global_objects/math/imul/index.html
@@ -0,0 +1,121 @@
+---
+title: Math.imul()
+slug: Web/JavaScript/Reference/Global_Objects/Math/imul
+translation_of: Web/JavaScript/Reference/Global_Objects/Math/imul
+original_slug: Web/JavaScript/Referencia/Objectes_globals/Math/imul
+---
+<div>{{JSRef}}</div>
+
+<p>La funció <strong><code>Math.imul()</code></strong> retorna el resultat de la multiplicació de 32 bits similar a la de C dels dos paràmetres.</p>
+
+<h2 id="Sintaxi">Sintaxi</h2>
+
+<pre class="syntaxbox"><code>Math.imul(<var>a</var>, <var>b</var>)</code></pre>
+
+<h3 id="Paràmetres">Paràmetres</h3>
+
+<dl>
+ <dt><code>a</code></dt>
+ <dd>Primer nombre.</dd>
+ <dt><code>b</code></dt>
+ <dd>Segon nombre.</dd>
+</dl>
+
+<h2 id="Descripció">Descripció</h2>
+
+<p><code>Math.imul()</code> 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 <a href="http://en.wikipedia.org/wiki/Emscripten">Emscripten</a>. Com que <code>imul()</code> és un mètode estàtic de <code>Math</code>, sempre s'utilitza com <code>Math.imul()</code> en comptes de com un mètode d'un objecte <code>Math</code> creat (<code>Math</code> no és un constructor).</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utilitzar_Math.imul()">Utilitzar <code>Math.imul()</code></h3>
+
+<pre class="brush: js">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
+</pre>
+
+<h2 id="Polyfill">Polyfill</h2>
+
+<p>Aquesta funció pot ser emulada mitjançant la següent funció:</p>
+
+<pre class="brush: js">Math.imul = Math.imul || function(a, b) {
+ var ah = (a &gt;&gt;&gt; 16) &amp; 0xffff;
+ var al = a &amp; 0xffff;
+ var bh = (b &gt;&gt;&gt; 16) &amp; 0xffff;
+ var bl = b &amp; 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) &lt;&lt; 16) &gt;&gt;&gt; 0)|0);
+};
+</pre>
+
+<h2 id="Especificacions">Especificacions</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Especificació</th>
+ <th scope="col">Estat</th>
+ <th scope="col">Comentaris</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-math.imul', 'Math.imul')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Definició inicial.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilitat_amb_navegadors">Compatibilitat amb navegadors</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Suport bàsic</td>
+ <td>{{CompatChrome("28")}}</td>
+ <td>{{CompatGeckoDesktop("20")}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatOpera("16")}}</td>
+ <td>{{CompatSafari("7")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Android</th>
+ <th>Chrome for Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Suport bàsic</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatGeckoMobile("20")}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>7</td>
+ </tr>
+ </tbody>
+</table>
+</div>