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

Posted yangxiaozhen001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js语言的位运算符(其他语言也通用)相关的知识,希望对你有一定的参考价值。

一.左移运算符(<<)

1.1 该运算符有2 个运算数,        a<<b,         将a左移相当于a左移2 的b次方,        2个运算符要求是整数,或可以转换成整数的.

eg:     

           2<<2=8

          5<<2=20

         "1"<<2=4

二.右移运算符(>>)

1.1  该预算符有2个运算数,    a>>b ,    将a右移b位,      相当于,    Math.floor(a/2的b次方)      Math.floor向下取整

eg:

         8>>2=2

         -7>>1=4

注意点ONE:      当运算符  a  无法转换成整数时,运算结果为0

eg:

        NAN<<2=0

        {}<<2=0

        NAN>>2=0

注意点TWO:     当运算符  b  无法转换成整数时,运算结果为a

 eg:      

        2<<NAN=2

        8<<{}=8

        1>>NAN=2

注意点THREE:    当运算符a . b    无法转换成整数时,运算结果为0

   eg:            NAN<<NAN=0

                  "a"<< infinity =0

注意点FORTH:     用0补足的右移运算符(>>>)

     eg:    

   "a">>>2=0

    a>>>NAN=0

   20>>>NAN=20

 

以上是关于js语言的位运算符(其他语言也通用)的主要内容,如果未能解决你的问题,请参考以下文章

5/30 c语言中的位运算

C语言中的位运算符!

关于C语言的位运算的问题

c++中的位运算计算问题

C语言中位移位运算符?

嵌入式linux C语言——位运算的使用