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++ 大体也相同