【发布时间】:2011-11-06 19:12:07
【问题描述】:
【问题讨论】:
-
我没有找到任何搜索“java
-
"java operator" 会给出 lucapette 发布的链接。
【问题讨论】:
它是 2 的 3 次方。 这是一个按位运算符 SHIFT_LEFT: 0001 => 0100
【讨论】:
<<left shift operator。
基本上,它将左侧值中的每一位向左移动一个由右侧值指示的量。
所以在本例中,0b1(十进制 1)变为 0b1000(十进制 8)。
在this tutorial 中解释并在this Wikipedia article 中说明。
【讨论】:
有符号左移运算符“, 并且带符号的右移运算符“>>”将位模式移到 正确的。位模式由左侧操作数给出,而 右手操作数移位的位置数。未签名的 右移运算符“>>>”将零移到最左边的位置, 而“>>”之后最左边的位置取决于符号扩展。
[Source]
【讨论】:
这是按位左移运算符。它向左移动位,如下所示:
00000001 << 3 == 00001000
换句话说,1 << 3 == 8,因为您将 1 位移动了 3 个位置。
【讨论】:
它是一个位移运算符。有关文档,请参阅 http://download.oracle.com/javase/tutorial/java/nutsandbolts/op3.html。
【讨论】:
当然,它是 left shift - 您将数字“1”左移 3 位,因此结果将是 8。
有关详细信息,请参阅 Java 语言规范的 section 15.19。
【讨论】: