相关疑难解决方法(0)

这个按位运算如何检查2的幂?

我正在看一些应该是微不足道的代码 - 但我的数学在这里惨遭失败.

这是一个条件,使用以下内容检查数字是否为2的幂:

if((num != 1) && (num & (num - 1))) { /* make num pow of 2 */ }
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在num和num-1之间使用按位AND来确定数字是2的幂?

c math bit-manipulation

39
推荐指数
4
解决办法
7万
查看次数

标签 统计

bit-manipulation ×1

c ×1

math ×1