【发布时间】:2011-10-15 10:31:41
【问题描述】:
我知道如果数字是 2 的幂,那么它必须满足 (x&(x-1))=0; 例如让我们采用 x=16 or 10000 x-16=10000-1=01111 和 (x&(x-1))=0;对于另一个非幂数 7例如,7=0111,7-1=01107&(7-1)=0110 不等于 0,我的问题是如何确定数字是否是另一个数字 k 的幂?例如 625 是 5^4,以及我如何找到其中的幂等于 k 到 n?我对使用按位运算符感兴趣,确保我可以通过蛮力方法找到它(通过标准算法,非常感谢
【问题讨论】:
-
您的问题应该是关于数字的“对数”,而不是“幂”。
标签: c++ bit-manipulation