为什么用shift运算符声明变量?

时间:2013-07-04 19:26:16

标签: java variable-assignment

我读了一些开源代码,经常遇到如下变量声明:

private static final int MAX_LITERAL = 1 << 5;

这是2 ^ 5(32)并且对于某些人来说可以更可读地声明为“32”而不是“1&lt;&lt; 5”。使用位移算子完成原因的任何一个很好的解释?

1 个答案:

答案 0 :(得分:3)

出于可读性目的,很可能该数字用于按位运算。

虽然它确实是32,但如果您不将其视为32,而是将其视为a number with the fifth bit set, and the others unset,则可能会看到推理。