给定一个接受 int 变量的 bool 数据类型的方法,单行 代码可以确定 int 是 2 还是 2^n 的指数... ..2,4,8,16,32 等。我知道一种使用 while 循环和 if 语句的方法,但我正在寻找它在一条线上。
最佳答案
来自 Bit Twiddling Hacks :
uint v; // we want to see if v is a power of 2
bool f; // the result goes here
f = (v != 0) && ((v & (v - 1)) == 0);
关于c# - 如果给定的 int 是 2 C# 的指数,则返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859405/