可能的重复:
>> 在 Java 中有什么作用?
这个标志有什么作用:<<?这是在 Java 中。
例如, new CustomPermission(1 << 5, 'M');
最好的祝福
可能的重复:
>> 在 Java 中有什么作用?
这个标志有什么作用:<<?这是在 Java 中。
例如, new CustomPermission(1 << 5, 'M');
最好的祝福
它是一个位移运算符
这条指令将 00000001 向左移动五位:所以它变成了 00100000
这是一个有符号的左移。您计算的内容基本上是 2^5,因为您将 00000001 向左移动 5 次,结果为 00100000
'<<' 运算符将左边数字的所有位移动右边的值。
例如 1<<5 将等于 32。
这通常用于代替乘以 2 的幂,因为 1<<5 相当于 1*(2^5) 或 1*32
除了其他答案之外,我还要补充一点,位移位常用于使用位掩码的代码中。因此,给定代码片段中的第 5 位具有特定含义,不同于第 3 位。使用“<<”运算符,您可以在逻辑上组合不同的位以给出组合位掩码。
这是位移
http://download.oracle.com/javase/tutorial/java/nutsandbolts/op3.html
基本上它将左操作数乘以 2 到右操作数的幂
所以 1 << 5 是 1 * 2^5