[LeetCode-231] Power of Two(判斷一個數是不是2的若干次冪)

狂奔的烏龜發表於2015-09-14

Given an integ這裡寫程式碼片er, write a function to determine if it is a power of two.

【分析】如果一個數是2的若干次冪,那麼二進位制表示最高位均為1,其他位均為0,該位減去1之後的數全為1,所以將兩個數進行與的操作,最終結果為0,說明這個數2的若干次冪。

程式碼如下:

bool isPowerOfTwo(int n)
{

    if(n<=0)
        return 0;

    int num = 0;
    /*最終結果為0,為2的若干次冪*/
    num = (0 == (n&(n-1))) ? 1:0;

    return num;

}

相關文章