mozilla
您的搜索结果

    Math.imul

    非标准

    概述

    该函数返回两个参数的类C的32位整数乘法运算的运算结果.

    Method of Math
    Implemented in JavaScript 1.8.5+
    ECMAScript Edition None, but proposed.

    语法

    Math.imul(a, b)

    参数

    a
    被乘数.
    b
    乘数.

    描述

    Math.imul可以进行快速的,类C语义的32位整数乘法.该特性对于一些项目比如Emscripten很有用.

    例子

    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

    下面的JavaScript代码可以实现该函数:

    function imul(a, b)
    {
            var ah  = (a >>> 16) & 0xffff;
            var al = a & 0xffff;
            var bh  = (b >>> 16) & 0xffff;
            var bl = b & 0xffff;
            // 右移0位可以修复高位的符号位
            return (al * bl) + (((ah*bl+al*bh)<<16)>>>0);
    }
    

    浏览器兼容性

    Feature Firefox (Gecko) Chrome Internet Explorer Opera Safari
    Basic support 20 (20) ? ? ? ?
    Feature Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
    Basic support 20.0 (20) ? ? ? ?

     

    文档标签和贡献者

    此页面的贡献者有: ziyunfei, teoli
    最后编辑者: teoli,