Skip to content

isPow2

Posted on:October 29, 2023 at 04:06 AM

判断数字是否为2的幂

bool isPow2(int n) {
    // 判断一个整数是否是2的幂
    // 如果是2的幂,它的二进制表示中只有一个位为1,其余位都为0
    // 例如,4的二进制表示是 100,8的二进制表示是 1000
    // 因此,一个整数 n 是2的幂,如果 n & (n - 1) 等于0

    return (n > 0) && ((n & (n - 1)) == 0);
}