js中的按位运算:与&、或|、异或^、按位取反、左移、右移

与(&)运算:

eg: x&y
先将x、y转为二进制数,然后对x 、y的每一位数值进行比较,只有数值都为1时才取1,否则为0.

14&15
//结果  1110 ,十进制是14

在这里插入图片描述

或(|)运算:

eg: x|y
先将x、y转为二进制数,然后对x 、y的每一位数值进行比较,只有数值都为0时才取0,否则为1.

14|15
//结果  1111 ,十进制是15

在这里插入图片描述

异或(^)运算:

eg: x^y
先将x、y转为二进制数,然后对x 、y的每一位数值进行比较,只有数值不相等时才取1,相等时为0.

14^15
//结果  0001 ,十进制是1

在这里插入图片描述

按位取反(~)运算:
~1  //结果 	 -2 
~-3  //结果   2
计算规则:先+1,再取相反数

计算过程如下:

  1. 将1(原码)转为二进制:0000 0001
  2. 按位取反: 1111 1110
  3. 符号位(最高位)为1(1表示负数-x) ,将除符号位之外的数字取反 :1000 0001
  4. 末位+1求补码:1000 0010
  5. 将补码转为十进制:-2
左移:
2<<1   //4

2的二进制:10,左移一位100,转为十进制是4

右移:
2>>1   //1

2的二进制:10,右移一位1,转为十进制是1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值