int x = 1 << 25;
&#34;&lt;&lt;&#34;意思? 不确定这是什么,我的ide虽然没有给我错误.. 我试过在论坛上搜索和谷歌搜索,但找不到解决方案。有什么想法吗?
答案 0 :(得分:2)
它是左(位)移位。 JLS-15.19. Shift operators说(部分)
操作符
<<
(左移),>>
(右移右移)和>>>
(无符号右移)称为移位运算符。移位运算符的左侧操作数是要移位的值;右侧操作数指定移位距离。
举一个简单的例子,考虑
System.out.println(Integer.toBinaryString(1));
System.out.println(Integer.toBinaryString(1 << 1));
System.out.println(Integer.toBinaryString(1 << 2));
哪个输出
1
10
100
因为它将单个1
位分别左移一次。
在您的示例中,int x = 1 << 25;
是1
后跟25 0
s(二进制或十进制33554432
)。