【C++代码】之《2的整数幂》

(1)常规解法

#include <iostream>
#include <stack>
#include <vector>

using namespace std;

bool  IsPowerOf2(int num)
{
    if (num <= 0)
    {
        return false;
    }
    else
    {
        while (num % 2 == 0)
        {
            num = num >> 1;
        }
        return (num == 1) ? true : false;
    } 
}


int main()
{
    vector<int> array = {63, 64, 98, 128};
    for (int i = 0; i < array.size(); ++i)
    {
        cout << IsPowerOf2(array[i]) << '\t';
    }
    cout << endl;
}

(2)二进制思路

bool  IsPowerOf2(const int & num)
{
    return (num&(num - 1)) == 0 ? true : false;
}

猜你喜欢

转载自blog.csdn.net/qq_27577651/article/details/106781455