【发布时间】:2021-08-13 03:37:56
【问题描述】:
我有一个数字 X ,我想检查它的 2 的幂数? 防爆
N=7 ans is 2 , 2*2
N=20 ans is 4, 2*2*2*2
类似的我想查看next power of 2
For Ex:
N=14 Ans=16
在不使用for 循环的情况下是否有任何Bit Hack?
就像我们有一个单行解决方案来检查它是否是 2 X&(X-1)==0 的幂,类似吗?
【问题讨论】:
-
@AlexeyGuseynov 我猜设置位的数量没有给我正确的答案
-
像这样
10000000001setbit 只有2个 -
你的意思是“我需要计算以 2 为底的对数”,是吗?
-
所以基本上第一个问题是关于获取 N 的日志基数 2 的 int 部分。第二个问题在这里已经有大量重复了stackoverflow.com/q/466204/995714stackoverflow.com/q/671815/995714stackoverflow.com/q/3272424/995714