Math.imul()
Статичний метод Math.imul()
("integer multiply" – множення цілих чисел) повертає результат C-подібного 32-бітного множення двох аргументів.
Спробуйте його в дії
Синтаксис
Math.imul(a, b)
Параметри
a
Перше число.
b
Друге число.
Повернене значення
Результат C-подібного 32-бітного множення переданих двох аргументів.
Опис
Math.imul()
дає змогу множити 32-бітні цілі числа з традиційною для C семантикою. Цей функціонал корисний для таких проєктів, як Emscripten.
Оскільки imul()
— це статичний метод об'єкта Math
, його потрібно завжди використовувати через Math.imul()
. Не слід звертатись до нього як до методу власноруч створеного екземпляра Math
(Math
не є конструктором).
Якщо використати в imul()
звичайні числа з рухомою комою JavaScript, буде помітно суттєве падіння швидкодії коду. Це пов'язано з дорогим перетворенням для множення чисел з рухомою комою на цілі числа, а потім перетворенням цілочислового результату множення назад у число з рухомою комою. Проте при використанні asm.js, що дозволяє JIT-оптимізаторам використовувати в JavaScript цілі числа з більшою впевненістю, множення двох чисел, за лаштунками збережених як цілі (що можливо лише при використанні asm.js), за допомогою imul()
потенційно може бути швидшим.
Приклади
Застосування 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
Специфікації
Сумісність із браузерами
desktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
imul
|
Chrome Full support 28 | Edge Full support 12 | Firefox Full support 20 | Internet Explorer No support Ні | Opera Full support 16 | Safari Full support 7 | WebView Android Full support 4.4 | Chrome Android Full support 28 | Firefox for Android Full support 20 | Opera Android Full support 15 | Safari on iOS Full support 7 | Samsung Internet Full support 1.5 | Deno Full support 1.0 | Node.js Full support 0.12.0 |
Дивіться також
- Поліфіл
Math.imul
у складіcore-js
- Emscripten на Вікіпедії