Bop*_*Bop 6 c# c++ bit-manipulation
这对C++人来说应该很容易.但我被问到如何在C#中做到这一点.不应该有很大的不同.
如何确定长变量是否只设置了一位?
我想不出什么,除了一些残酷的力量转移所有位和计算什么设置.
spe*_*der 21
如果
(x&(x-1))使用2的补码算法为0 ,则非负二进制整数值x是2的幂.
2的幂将意味着设置单个位.
http://aggregate.org/MAGIC/#Is%20Power%20of%202
编辑:
允许零情况:
bool singleBit = x>0 && (x&(x-1))==0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3047 次 |
| 最近记录: |