美文网首页
常见的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