位操作符用于数值的底层操作
即操作内存中表示数据的比特(位)
es中所有的数值都是以IEEE 754 64位格式存储
进行位操作的时候,先把64位的数值转换成32位
再进行位操作,得到的结果再转换成64位
NaN 和 Infinity在位操作中会被当做0处理
负值以一种二补数的二进制编码存储,一个数值的二补数
1.确定绝对值的二进制
2.找数值的一补数(即反转二进制值)
3.给补数加一
所以对于开发者而言,就好像只有32位整数一样
数值转换如10010 = 2^0+2^1+0+0+2^4 = 18