Javascript语法:带“的变量声明<<&引用;或&燃气轮机&燃气轮机&引用;

Javascript语法:带“的变量声明<<&引用;或&燃气轮机&燃气轮机&引用;,javascript,algorithm,d3.js,word-cloud,Javascript,Algorithm,D3.js,Word Cloud,我看了一眼 在中有一些变量声明如下: cw = 1 << 11 >> 5, ch = 1 << 11; cw=1>5, ch=1见此 基本上,进行逐位移位。如果你这样做,a>是相同的原则,但它会向右移动。它几乎类似于除以2的因子,但有一种特殊情况,当初始数是奇数时:它将结果分解 ⌊(a / 2^b)⌋ 如果你有1>5,左、右移会相互抵消,我们最终会以 1 << 6 === 64 === 1 * 2^6 1我认为他只是在装傻。他将cw声明为1>

我看了一眼 在中有一些变量声明如下:

cw = 1 << 11 >> 5,
ch = 1 << 11;
cw=1>5,
ch=1见此

基本上,
进行逐位移位。如果你这样做,
a>
是相同的原则,但它会向右移动。它几乎类似于除以2的因子,但有一种特殊情况,当初始数是奇数时:它将结果分解

⌊(a / 2^b)⌋
如果你有
1>5
,左、右移会相互抵消,我们最终会以

1 << 6 === 64 === 1 * 2^6

1我认为他只是在装傻。他将
cw
声明为
1>5
,但该文件中实际使用
cw
的每个地方都有
(cw“它如何为Jason Davies布局的其余部分中的代码增加价值?”。它没有,事实上它只是使其运行稍微慢一点(与仅使用
cw=64
)。看起来程序员只是觉得无聊。是的,
操作符就是这么做的,但问题是在这些声明中使用它们有什么意义。在所讨论的JS文件中,每次使用变量
cw
时,它都显示为
(cw我无法确认JS中是否存在这种情况,但与乘法相比,执行位运算通常更有效。假设您知道要乘以某个倍数2,最好是左移位,而不是执行乘法。不过,在更深入的金属编程中,您会经常看到这一点。当然。但在声明如果说
cw=64
cw=2048
而不说
(cw确实如此;正如你所说,他可能只是在傻。但是,使用
可能有真正的价值。
1 << 6 === 64 === 1 * 2^6