但是,这对于C++的人来说应该很容易。但是有人问我如何在C#中做到这一点。不应该有太大的区别。

如何确定一个长变量是否只有位设置了

除了一些残酷的力量将所有位移动并计数设置的内容外,我什么都没想到。

最佳答案



2的幂表示将置1。

http://aggregate.org/MAGIC/#Is%20Power%20of%202

编辑:

为了允许零情况:

bool singleBit = x>0 && (x&(x-1))==0

10-04 12:36