什么是>>运算符/操作数/修饰符做什么?

发布于 2024-08-18 06:06:34 字数 312 浏览 2 评论 0原文

我正在审查一些 javascript 代码,程序员使用 >>在几个地方。我尝试在谷歌上搜索,但找不到这个操作数/运算符的作用。所以我就在这里。代码示例如下:

var triplet=(((binarray[i>>2]>>8*(i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);

I'm reviewing some javascript code and the programmer uses >> in a few places. I tried to search on google but couldn't find what this operand / operator does. So here I be. Code example below:

var triplet=(((binarray[i>>2]>>8*(i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

执妄 2024-08-25 06:06:34

>> 是右移运算符,<< 是左移运算符。它们对整数的运算如下:

00001000b >> 1 = 00000100b
00001000b << 1 = 00010000b

换句话说:

num >> 1 = num / 2
num >> 2 = num / 4
.
.
.
num >> n = num / 2^n

同样:

num << 1 = num * 2
num << 2 = num * 4
.
.
.
num << n = num * 2^n

>> is the right-shift operator, << is the left-shift operator. They operate on integers as follows:

00001000b >> 1 = 00000100b
00001000b << 1 = 00010000b

In other words:

num >> 1 = num / 2
num >> 2 = num / 4
.
.
.
num >> n = num / 2^n

Likewise:

num << 1 = num * 2
num << 2 = num * 4
.
.
.
num << n = num * 2^n
×纯※雪 2024-08-25 06:06:34

<<和>>是常见的位运算符。

<< is left shift and
>> is right shift.

例如:

i << 2

将 i 的值左移 2 位。

您可以在这里找到更多信息(进入按位运算符部分):
http://docs.rinet.ru/ProPauk/ch23.htm#BinaryOperators

The << and >> are common bitwise operators.

<< is left shift and
>> is right shift.

For example:

i << 2

will shift the value of i for 2 bits to the left.

You can find out more here (got to bitwise operators section):
http://docs.rinet.ru/ProPauk/ch23.htm#BinaryOperators

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文