位操作符

位操作符用于数值的底层操作

即操作内存中表示数据的比特(位)

    es中所有的数值都是以IEEE 754 64位格式存储
    进行位操作的时候,先把64位的数值转换成32位
    再进行位操作,得到的结果再转换成64NaNInfinity在位操作中会被当做0处理
负值以一种二补数的二进制编码存储,一个数值的二补数
1.确定绝对值的二进制
2.找数值的一补数(即反转二进制值)
3.给补数加一

所以对于开发者而言,就好像只有32位整数一样

数值转换如10010 = 2^0+2^1+0+0+2^4 = 18

如果将位操作应用到非数值,则首先使用Number()转换(这个过程自发的)