如何在 C++ 中使用可读的 2 的常数次幂?

How to use constant powers of 2 readable in c++?

我的 GNU c++ 代码中需要几个带有 2^n2^n - 1 的整数常量。

保持代码可读性的好习惯是什么?该代码目前使用十进制值 4294967296 和 65536 ,以后很难调试。

2^12 未在标准 C++ 中实现,pow(2.0,12.0) 使用 double.

if (buffer_length == 4294967295){ } // code example, I want to make more readable

您可以使用左移运算符:

if (buffer_length == 1 << 12){ } 

使用十六进制。任何人都应该很容易看出这是一个特殊的数字。