位操作符
javascript中的数都用64位表示,执行位运算时,将取低32位的数用于位运算,舍弃掉高32位,结果是一个32位的有符号数。
另外,这种转换会带来一个副效应,即在对特殊的NaN和Infinity应用位操作时,这两个值都会被当做是0来处理。
如果对非数值应用位操作符,会先使用Number()函数将该该值转换为一个数值(自动完成),然后再应用位操作,得到的结果是一个值。
1、按位非操作
按位非操作的实质是取操作数的负值减1.
2、按位或操作
3、按位与操作
4、按位异或操作
两位相同,结果为0;两位不同,结果为1
5、左移位运算
注意,在处理有符号整数时,是不能访问位31的,即左移不会影响操作数的符号位,-2左移5位,是-64.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。