让前端飞程序员Web前端之路

js 二进制运算符

2017-12-07  本文已影响403人  JasonWild

|、&、~、^运算符

二进制计算里面
| 两数同位是0对应位才是0

1|2 = (0001 或 0010) = 0011 = 3

&两数同位是1对应位才是1

1&2 = (0001 且 0010) = 0000 = 0

^两数同位相同都取0,不同都取1

1^2 = (0001 异或 0010) = 0011 = 3

~每位取反的补码

~2 = 11101(补) = 10010(原)+1 = -(2+1) = -3
补码的转换规则是:最左符号位不变,其余位取反再加1

二进制位运算都是整数运算,计算前都会进行取整,所以可以巧用位运算符来小数取整

~~2.345 = 2
0|3.222 = 3

还有移位运算符,但是平时很少用到
<< 左移运算符
>> 右移运算符

一些javascript的技巧(http://www.haorooms.com/post/js_shiyong_one)

上一篇 下一篇

猜你喜欢

热点阅读