按位与&
//先把3和6十进制转二进制,然后上下两位对齐,上下两位都是1,结果是1,否则为0
console.log(3&6);
//十进制转二进制3=11,6=110
//011
//110
//得出010转十进制为2
按位或|
//先把3和6十进制转二进制,然后上下两位对齐,上下两位含有1,结果是1,否则为0
console.log(8|13);
//十进制转二进制8=1000,13=1101
//1000
//1101
//1101
//二进制转成十进制 1101=13
//所以console.log(8|13);==13
按位异或^
//先把3和6十进制转二进制,然后上下两位对齐,上下两位不同,结果是1,否则为0)
console.log(7^12);
//十进制转二进制7=0111,12=1100
//0111
//1100
//1011
//二进制转成十进制 1011=11
//所以console.log(7^12);==11
按位右移>>(删除位数)
console.log(8>>1);
//8>>1
//十进制转二进制,8=1000,往右移动一位,删除一位
//1000=100
//二进制转十进制,100=4,结果为4
按位左移<<(补上0)
console.log(8<<1);
//8<<1
//十进制转二进制,8=1000,往左移动一位,补上一个0
//1000=10000
//二进制转十进制,10000=16,结果为16