convert bitset to int in c++

tenos picture tenos · Oct 25, 2013 · Viewed 40.5k times · Source

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.

Answer

Barmar picture Barmar · Oct 25, 2013

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