我正在看一些应该是微不足道的代码 - 但我的数学在这里惨遭失败.
这是一个条件,使用以下内容检查数字是否为2的幂:
if((num != 1) && (num & (num - 1))) { /* make num pow of 2 */ }
我的问题是,如何在num和num-1之间使用按位AND来确定数字是2的幂?
c math bit-manipulation
bit-manipulation ×1
c ×1
math ×1