1.按位非 ,返回数值的反码
var num = 25 //二进制 00000000000000000000000000001101
var num1 = ~25 //-26 二进制 11111111111111111111111111110010
2.按位与, 二进制同时为1时才为1
var num= 25 & 3 //1
3.按位或,, 二进制有一个为1就都是1
var num = 25 | 3 //27
4.异或 , 相同为0,不同为1
var num = 25 ^ 3 //26
5.左移 , 所有数值往左移指定位数
var num = 2 << 5 //64
6.有符号的右移
var num = 64 >> 5 //2
7.无符号的右移
var num = 64 >>> 5 //2
注意:负数的右移值会变得非常大,无符号右移会将负数看成正数,正数的有无符号结果相同