js位操作符
按位非 ~
var a=25
var b=~a //b=-26
按位与 &
var a=25&3 //a=1
转换为二进制数两个数对比都有1就写1,有一个为0就写0
11001
00011
00001
按位或 │
var a=25丨3 //a=27
转换为二进制数两个数对比有一个1就写1,没有就写0
11001
00011
11011
按位异或 ^
var a=25^3 //a=26
转换为二进制数对比,如果两数不同就写1,相同就写0
11001
00011
11010
左移 <<
var a=2
var b=a<<5 //b=64
把a的值转换为二进制数,在把这个二进制数往左移5位
10 转换为 1000000
有符号的右移 >>
var a=64
var b=a>>5 //b=2
转换为二进制数,在向右移5位
1000000 转换为 10
无符号的右移 >>>
正数
var a=64
var b=a>>>5 //b=2
负数
var a=-64
var b=a>>>5 //b=134217726

浙公网安备 33010602011771号