c++bitset

convert bitset to int in c++


In c++. I initialize a bitset to -3 like:

std::bitset<32> mybit(-3);

Is there a grace way that convert mybit to -3. Beacause bitset object only have methods like to_ulong and to_string.


Solution

  • Use to_ulong to convert it to unsigned long, then an ordinary cast to convert it to int.

    int mybit_int;
    
    mybit_int = (int)(mybit.to_ulong());
    

    DEMO