美文网首页
常见的JavaScript位运算

常见的JavaScript位运算

作者: 该帐号已被查封_才怪 | 来源:发表于2019-05-24 19:14 被阅读0次

    平常的数值运算都是转成二进制再进行计算,而位运算则是直接进行二进制,因此执行效率会比较高,而且有的地方使用位运算会使得代码很精简,当然缺点是代码的可读性不是很好;下面介绍几种常用的位运算:

    一、取整

    // 异或运算取整::位运算只对整数有效,遇到小数时,会将小数部分舍去,只保留整数部分。所以,将一个小数与0进行或运算,等同于对该数去除小数部分,即取整数位。
    12.9 ^ 0 // 12
    -12.9 ^ 0 // -12
    
    // 双否定位操作符取整
    ~~4.9 // 4
    ~~(-4.9) // -4
    
    // 左移0位,就相当于将该数值转为32位整数,等同于取整,对于正数和负数都有效。
    13.5 << 0 // 13
    -13.5 << 0 // -13
    
    // 或运算取整:位运算只对整数有效,遇到小数时,会将小数部分舍去,只保留整数部分。所以,将一个小数与0进行或运算,等同于对该数去除小数部分,即取整数位。
    2.9 | 0 // 2
    -2.9 | 0 // -2
    

    题外话:Math.round是四舍五入的。。。ceiling是向上取整。。float是向下取整

    二、判断奇数、偶数

    function assert(n) {
        if (n & 1) {
              console.log("n是奇数");
        } else {
              console.log("n是偶数");
        }
    }
    

    三、推荐趣题:

    你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?

    参考资料:
    js中使用位运算,让执行效率更高

    相关文章

      网友评论

          本文标题:常见的JavaScript位运算

          本文链接:https://www.haomeiwen.com/subject/kfxyuqtx.html