JavaScript位操作及其简单应用
来源:互联网 发布:java continue label 编辑:程序博客网 时间:2024/06/07 07:18
原文链接
1. <<
左移,即按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
数学意义:在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
1 << 1//output 21 << 2//output 4
2. >>
右移,即按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。
数学意义:右移一位相当于除2,右移n位相当于除以2的n次方。
4 >> 1//output 24 >> 2//output 1
3. & (AND)
与,即按二进制形式将所有的数字与目标数字按位进行与操作。
常见用法:通常用于二进制的取位操作,例如:一个数字&1,如果结果为0则为偶数,如果为1则为奇数。
2 & 1//output 01 & 1//output 1
4. | (OR)
或,即按二进制形式将所有的数字与目标数字按位进行或操作。
常见用法:通常用于二进制数字的无条件赋值。例如:一个数字|1,相当于与获取与当前数字最接近的奇数。
1 | 1//output 12 | 1//output 3
5. ~ (NOT)
非,即按二进制形式将所有数字取反。
常见用法:位运算 NOT 实质上是对数字求负,然后减 1,因此 25 变 -26。
~1//output -2
6. ^ (XOR)
异或,即按二进制形式将所有数字与目标数字对比,只有两个数字不相同即只有一个数位存放的是1的时候返回1,如两个数字相同返回0.
常见用法:xor运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变。可以用于简单的加密,或交互数值操作。
var a = 2, b = 3;a ^= b;b = a ^ b;a ^= b;console.log(a);//output 3console.log(b);//output 2
0 0
- JavaScript位操作及其简单应用
- 位运算及其简单应用
- 位运算及其应用
- 位运算及其应用
- 位运算及其应用
- 位运算及其应用
- 位运算及其应用
- 位运算及其应用
- Javascript数组及其操作
- Javascript数组及其操作
- Javascript数组及其操作
- Javascript数组及其操作
- javascript数组及其操作
- 位运算符及其应用
- 位运算及其应用详解
- 位运算及其应用详解
- 位运算及其应用详解
- 位运算及其应用详解
- cms系统是什么意思
- jemalloc的使用
- 求两个整数的最大公约数及其应用
- HDU 1285 【简单拓扑】
- 信号量与管程
- JavaScript位操作及其简单应用
- Web应用中大部分跳转路径如何书写
- 客运综合管理系统项目解析-领导查询(模块)-废票查询
- android不为人知的工具集合
- Kth Largest Element in an Array
- H.264/ACC音视频编码流的RTP/RTSP传输实现(1)
- HDU 1596
- 使用Python调用Web Service
- Struts2入门实例