web-dev-qa-db-ja.com

C ++でビットセットをintに変換する

C++では。私はビットセットを-3に初期化します:

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

mybit-3に変換する優雅な方法はありますか? Beacauseビットセットオブジェクトには、to_ulongto_stringのようなメソッドしかありません。

15
tenos

to_ulongを使用してunsigned longに変換し、次に通常のキャストを使用してintに変換します。

int mybit_int;

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

[〜#〜] demo [〜#〜]

29
Barmar