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语言的位运算符(其他语言也通用)的主要内容,如果未能解决你的问题,请参考以下文章