按位运算符 & 和 |

一、概述

按位操作符(Bitwise operators) 将其操作数(operands)当作32位的比特序列(由0和1组成),而不是十进制、十六进制或八进制数值。例如,十进制数9,用二进制表示则为1001。按位操作符操作数字的二进制形式,但是返回值依然是标准的JavaScript数值。

下面的表格总结了JavaScript中的按位操作符:

这里写图片描述
二、& (按位与)

只有两个操作数相应的比特位都是1时,结果才为1,否则为0。 都是1才是1

例1:1&3

先将1和3转为2进制数为,0001 和 0011,然后位运算如下

         0 0 0 1 (1)
       & 0 0 1 1 (3)
-----------------
         0 0 0 1 (1)

结果为 1。

例2:23&5

       1 0 1 1 1 (23)
     & 0 0 1 0 1 (5)
-----------------
       0 0 1 0 1 (5)

结果为 5。

二、| (按位或)

当两个操作数相应的比特位至少有一个1时,结果为1,否则为0。 有1就是1

例1:1 | 3

将1和3转为2进制数为,0001 和 0011,然后位运算如下

         0 0 0 1 (1)
       | 0 0 1 1 (3)
-----------------
         0 0 1 1 (3)

结果为 3。

例2:23 | 5

       1 0 1 1 1 (23)
     | 0 0 1 0 1 (5)
-----------------
       1 0 1 1 1 (23)

结果为 23。

三、巩固练习

console.log(16 & 9); //0
console.log(16 | 9); //25

console.log('string' & 1); //0
console.log('string' | 1); //1

console.log(true & 1);  //1
console.log(false & 1); //0
console.log(true | 1);  //1
console.log(false | 1); //1

console.log(true & 12);  //0
console.log(false & 12); //0
console.log(true | 12);  //13
console.log(false | 12); //12

console.log(undefined | false); //0
console.log(undefined | true);  //1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值