&:与运算
|:或运算
!:非运算
^:异或运算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var a = 5; //00000000 00000000 00000000 00000101000
var b = 8; //00000000 00000000 00000000 00001000
//与:两位都是1,则为1,否则为0
console.log("a和b进行与运算:" + (a & b)); //00000000,结果为0
//或:只要有一个1,则为1,否则为0
console.log("a和b进行或运算:" + (a | b)); //00001101,结果为13
//非:如果为1,则0;如果为0,则为1
console.log("对a进行非运算:" + (~a)); //11111010,结果为-6
console.log("对b进行非运算:" + (~b)); //结果为-9
//异或:如果两位相同,则为0,否则为1
console.log("a和b进行异或运算:" + (a ^ b)); //00001101
</script>
</head>
<body>
</body>
</html>
左移和右移
左移:相当于乘2
右移:相当于除以2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var a = 5
console.log(5 << 1)
console.log(5 >> 1)
</script>
</head>
<body>
</body>
</html>