Math.clz32 的 Polyfill


  • 0
    administrators

    ES6 新增了 Math.clz32 方法,可以让我们获取到一个整数的无符号 32 位的二进制形式有多少位前置的 0。例如:

    // 1 的 32 位二进制表示:0b00000000000000000000000000000001
    // 有 31 位前置的 0
    Math.clz32(1) // => 31
    

    请你完成 clz32 来达到和 Math.clz32 的同样的功能。如果输入的是能够转换成数字的,先转换成数字再进行计算:

    Math.clz32('2') // => 30
    

    如果不能转换成数字的,返回 32

    Math.clz32('good') // => 32
    

    总而言之,你的函数的返回结果要和 Math.clz32 保持一致。


登录后回复
 

与 ScriptOJ 的连接断开,我们正在尝试重连,请耐心等待