js的位运算(其它语言也通用)

  1. 左移运算符(<<)

    该运算符有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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。