Checking single bits in a bitmask using std::pow

0

I have the following define to check an unsigned int bitmask for a certain bit. Is there a more straightforward way (that doesn't include power of calculation) which I'm not aware of?

This is my code:

#include <iostream>
#include <cmath>

#define IS_BIT_SET(x) (foomask & (int)std::pow(2, x-1)) >> x-1 == 1 

using namespace std;

int main()
{

    unsigned int foomask = 0xFFFFFFFF;
    if(IS_BIT_SET(1))
        cout << "Bit 1  is set" << endl;

    if(IS_BIT_SET(32))
        cout << "Bit 32  is set" << endl;

    return 0;
}
c++
bitmask
asked on Stack Overflow Aug 21, 2019 by tzippy

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0