我看了一个关于github的开源项目,我在Java中找到了下面一行代码,
static byte[] byteArray = new byte[1 << 11];这里我们知道1 << 11只不过是2048年,所以我可以直接初始化数组,方法是将数组的长度设为2048,如下所示,
static byte[] byteArray = new byte[2048];
那么为什么它是像1 << 11,而不是直接写2048年。
发布于 2017-02-05 11:15:33
使用一些明智的操作是为了明确这是一个2的幂。我见过人们混淆常量。例如8096,它是8192和4096的组合。
我喜欢做的是对KB和MB使用<< 10或<< 20。例如2 << 10 for 2 KB
https://stackoverflow.com/questions/42051308
复制相似问题