我正在审核一些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);
答案 0 :(得分:2)
>>
是右移运算符,<<
是左移运算符。它们按整数运算如下:
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
答案 1 :(得分:1)
&lt;&lt;和&gt;&gt;是常见的按位运算符。
<< is left shift and
>> is right shift.
例如:
i << 2
将i的值向左移动2位。
你可以在这里找到更多信息(得到按位运算符部分): http://docs.rinet.ru/ProPauk/ch23.htm#BinaryOperators