lowbit 函数
定义
l
o
w
b
i
t
(
)
lowbit()
lowbit() 函数用来 取一个二进制最低位的一与后边的0组成的数
例如:
lowbit (13) = 1 ( 13 二进制表示为 1101 ——> 1(1) )
lowbit (12) = 4 ( 12 二进制表示为 1100 ——> 4(100) )
int lowbit(int x)
{
return x&(-x);
)
基本应用——借助 lowbit 函数判断整数 n 是否是2的方幂
理解lowbit函数的基本定义后,我们可以尝试借助 lowbit 函数判断一个整数 n 是否是2的方幂,具体代码实现如下:
int lowbit(int x)
{
return x&(-x);
}
int chk(int n)
{
if( lowbit(n) == n ) return 1; //n是2的方幂
else return 0; //n不是2的方幂
}
具体原因由 lowbit 函数的定义很好理解,在此不进行赘述。