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;
}
User contributions licensed under CC BY-SA 3.0