JavaScript中的位运算

前端之家收集整理的这篇文章主要介绍了JavaScript中的位运算前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

详细介绍参考——

之所以会把位运算符重新重视,是因为前一段时间在研究求质数的算法的时候,人家用筛法加二进制保存true / false大大节约了时间和空间。原文传送门: 10)

首先列举一下这几个运算符:

  • 按位取反:~
  • 按位与:&
  • 按位或:|
  • 按位异或:^ 当只有一个数位存放的是 1 时,它才返回 1
  • 左移运算:<< 符号位不变
  • 有符号右移:>>
  • 无符号右移:>>>

接下来是位运算符的应用,内容上参考了这两篇文章

  • 判断奇偶数:n & 1 === 0
  • Math.floor:n | 0 / ~~n / n >>> 0 / n >> 0 / n << 0
  • 0和1之间的转换:n ^= 1(n的初值为0或1,然后每次执行,n会变化)
  • 判断正负:n === (n >>> 0)
  • 有符号转无符号:n >>> 0
  • *2 /2 --> 左移 右移
  • 两数字换位置:num1 ^= num2,num2 ^= num1,num1 ^= num2

其实说来说去,也就这么回事,掌握一些特性就好了。虽说这玩意性能挺强,但是你也会降低等量的代码可读性。

猜你在找的JavaScript相关文章