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

posted @ 2021-03-24 16:59  终末s  阅读(93)  评论(0)    收藏  举报