js左移运算符_JavaScript位运算符

一、位运算符

位运算符处理32 位数

该运算中的任何数值运算数都会被转换为 32 位数,结果会被转换回 JavaScript 数

位运算符用于直接对二进制进行计算,共有七个运算符:

或运算(or):符号为 |,若两个二进制位都为0,则结果为0,否则为 1;

与运算符(and):符号为 &,若两个二进制位都为 1,则结果为1,否则为 0;

否运算(not):符号为 ~ ,对一个二进制位取反;

异或运算(xor):符号为 ^,若两个二进制位不相同,则结果为1,否为0。

左移运算(left shift):符号为 <<

右移运算(right shift):符号为 >>

带符号位的右移运算(zero filled right shift):符号为 >>>

二、位运算符简介

位运算符直接处理每一个比特位(bit),所以是非常底层的运算。

好处:运算速度极快;

缺点:运算很不直观,许多场合不能使用,否则会使代码难以理解和查错。

注意:位运算符只对整数起作用,如果一个运算子不是整数,则会自动转成整数后再执行。

在JavaScript内部,数值都是以64位浮点数的形式储存的,但是在做位运算的时候,是以32位带符号的整数进行运算的,并且返回的值也是一个32位带符号的整数。

三、各位运算符的特点

(一)或运算 和 与运算

逐个位数比较两个运算子

或运算:两个二进制位中只要有一个为 11,就返回 1,否则就返回 0;

与运算:两个二进制位中只要有一位为 0,就返回为 0,否则就返回 1;

0|3; //3

0&3; //0

3|4 //7

3&4 //0

在上面的 0和 3的表达式中,0和 3的二进制形式分别为 00 和 11,所以进行"或运算" 会得到 11(即3);进行“与运算” 会得到 00(即0);

在上面的 3和 4的表达式中,3和 4的二进制形式分别为 11 和 001,所以进行"或运算" 会得到 111(即7);进行“与运算” 会得到 0(即0);

注意:

位运算只对整数有效,遇到小数时,会将小数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值