js的位运算符

来源:互联网 发布:base64解码 js 编辑:程序博客网 时间:2024/05/22 17:07
首先要知道一些关于计算机存储的知识,
  1. 计算机内部存储数据都是按照二进制存储的,
  2. 一个字节【byte】是八个位【bit】
  3. 比如十进制的2存储在计算机中是二进制的:0000 0010
  4. 位运算就是对计算机二进制的计算
按位或运算  |
运算方式 :按照逻辑或的方式来进行 
例如: 2|1  
               0000 0010
               0000 0001

               0000 0011
就是十进制的3

按位与运算  &
运算方式 :按照逻辑与的方式来进行 
例如: 2&1  
               0000 0010
               0000 0001

               0000 0000
就是十进制的0

按位异或运算 ^
运算方式 :上下两个不同就是真 -》1  如果相同就是 0
例如: 2^1  
               0000 0010
               0000 0001

               0000 0011
就是十进制的3

按位左移运算<<   //正负数【有无符号】无区别  x=x*2n
运算方式 :就是将数值所有的位向左移动指定的位数 超过的砍掉 没有的补0  
例如: 2<<5  
               0000 0010

               0001 0000
就是十进制的64

按位右移运算  //正负数【有无符号】有区别  待补上...

1.正数的情况下
>>和>>>没有区别
都是向左移动指定的位数
例如: 64>>5  
               0001 0000

               0000 0010
就是十进制的2
2.负数的情况行下 
操作的是负数
0 0
原创粉丝点击