javascript中的按位左移和右移计算

时间:2011-11-17 08:20:38

标签: javascript

我真的需要按位计算的帮助。请帮助我,我们的老师要求找到一个简单计算的答案。 (按位)4 <3,3> 3。我们如何在不使用计算机的情况下计算出来。

编辑1:

还请提及如何执行3&amp; 4和3 | 3

4 个答案:

答案 0 :(得分:5)

a&lt;&lt; b = a·2 b
a&gt;&gt; b = a / 2 b = a·2 -b (丢弃任何小数)

所以计算4&lt;&lt;如图5所示,你需要加倍4次5次:4·2 5 = 4·32 = 128.类似地,对于3>&gt; 3。

答案 1 :(得分:2)

我会给你一个简单的解释: 二进制2是0010。 当您在2上左移两次时,我们得到1000,这导致8(十进制)

类似地,二进制4是0100 当你离开它5次时,我们得到10000000,

另一方面,二进制3是0011, 当我们在3上右移三次时,它给我们0000,因此它得到0(十进制)。

如果您不知道将二进制转换为十进制,反之亦然,请尝试谷歌。

AND - OR:

在AND中,

    0&amp; 0 = 0,     1&amp; 0 = 0,     0&amp; 1 = 0,     1&amp; 1 = 1

在OR中

    0 | 0 = 0,     1 | 0 = 1,     0 | 1 = 1,     1 | 1 = 1

所以3&amp; 4将是,     0011&amp; 0100 = 0000

3 | 3将是,     0011 | 0011 = 0011

答案 2 :(得分:0)

4 = 0100 4 <&lt; 5 = 010000000 = 1 * 2 ^ 7 = 128

3 = 011 3>&gt; 3 = 000 = 0

Right Shift

<强> Left Shift

答案 3 :(得分:0)

看看这个页面

https://developer.mozilla.org/en/JavaScript/Reference/Operators/Bitwise_Operators

这是左移

的示例
 9 (base 10):      00000000000000000000000000001001 (base 2)
                   --------------------------------
 9 << 2 (base 10): 00000000000000000000000000100100 (base 2) = 36 (base 10)