js位操作符学习笔记

位操作符
操作的是二进制数为了提高计算机运行速度
按位非(not)
把二进制数的1变成0,0变成1
var a=25;var b=~a b=?
25的二进制:00000000000011001
按位非之后:11111111111100110
结果:-24
按位与(and)
两个数字的二进制数,对应位置都为1,则为1,都为0则为0,不相同则为0
var a=25; var b=a&3; b=?
25的二进制: 0000000000000000011001
3的二进制 :0000000000000000000011
按位与之后:0000000000000000000001
结果:1
按位或(or)
两个数字的二进制数,对应位置都为1,则为1,都为0则为0,不相同则为1
var a=25; var b=a|3; b=?
25的二进制: 0000000000000000011001
3的二进制 :0000000000000000000011
按位与之后:0000000000000000011011
结果:27
左移
把数字对应的二进制数向左进行移动,空出的位置用0补齐
var a=25; var b=a<<5; b=?
25的二进制: 0000000000000000011001
左移:0000000000001100100000
结果:64
右移
把数字对应的二进制数向右进行移动,空出的位置用0补齐
var a=25; var b=64>>5; b=?
64的二进制:0000000000001100100000
右移:0000000000000000011001
结果:25
无符号右移
var a=25; var b=64>>>5; b=?
-64的二进制:1111111111111111100000
右移:0000011111111111111111
结果:134217726

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值