【发布时间】:2013-07-04 19:26:16
【问题描述】:
我阅读了一些开源代码,经常遇到这样的变量声明:
private static final int MAX_LITERAL = 1 << 5;
这是 2^5 (32),对于某些人来说,将其声明为“32”比“1
【问题讨论】:
-
该操作显示了数字是如何设计的。也许它被用于位操作?
-
但是为什么不直接写
0b00100000呢? -
我已投票结束 - 这个问题将引发辩论而不是事实答案。
-
@ImreKerr 0b00010000000000000000 呢?你能说在这种情况下设置了哪个位吗?
-
@ImreKerr 这仅从 Java 7 开始受支持,想象一下“解码” 1