js的位运算(其它语言也通用)
左移运算符(<<)
该运算符有2个运算数,a<<b,将a左移相当于a乘以2的b次方,2个运算符要求是整数,或可以转换成整数的。
如:1<<2 =4
"1"<<2=4
5<<3=40
当运算符无法转换成整数时,运算结果为0
如:{}<<2 =0
NAN<2 =0
当运算数B无法转换成整数时,运算结果为 a
如:2<<{} =2
20<<NAN =20
当运算数a和b 均无法转换成整数时,结果为0
如:"a"<<Infinity =0
NAN<<NAN =0
2. 右移运算符 (>>)
该运算符有2个运算数,a>>b,将a右移b位,相当于Math.floor(a/2 的b次方)
如: 7>>1 =3
-7>>1 =-4
NAN>>1 =0
1>>NAN=1
3.用0补足的右移运算符 (>>>)
如: "a">>>2 =0
"a">>>NAN =0
20>>>NAN=20
JS中如上。其它如java c c++ 大体也相同
本文出自 “贾小仙” 博客,请务必保留此出处http://hackerxian.blog.51cto.com/9240575/1637063
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。