std::bitset<N>:: to_ulong
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::bitset
| Member types | ||||
| Member functions | ||||
|
(until C++20)
|
||||
| Element access | ||||
| Capacity | ||||
| Modifiers | ||||
| Conversions | ||||
|
bitset::to_ulong
|
||||
|
(C++11)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++11)
|
||||
|
unsigned
long
to_ulong
(
)
const
|
(constexpr C++23以降) | |
ビットセットの内容を unsigned long 整数に変換します。
ビットセットの最初のビットは数値の最下位ビットに対応し、最後のビットは最上位ビットに対応します。
目次 |
パラメータ
(なし)
戻り値
変換された整数。
例外
値が unsigned long で表現できない場合、 std::overflow_error をスローします。
例
このコードを実行
#include <bitset> #include <iostream> #include <stdexcept> int main() { for (unsigned long i = 0; i < 10; ++i) { std::bitset<5> b(i); std::bitset<5> b_inverted = ~b; std::cout << i << '\t' << b << '\t' << b_inverted << '\t' << b_inverted.to_ulong() << '\n'; } std::cout << std::bitset<32>().to_string('-') << '\n'; try { std::bitset<128> x(42); std::cout << x.to_ulong() << '\n'; x.flip(); std::cout << x.to_ulong() << '\n'; // throws } catch (const std::overflow_error& ex) { std::cout << "ex: " << ex.what() << '\n'; } }
出力例:
0 00000 11111 31 1 00001 11110 30 2 00010 11101 29 3 00011 11100 28 4 00100 11011 27 5 00101 11010 26 6 00110 11001 25 7 00111 11000 24 8 01000 10111 23 9 01001 10110 22 -------------------------------- 42 ex: bitset to_ulong overflow error
関連項目
|
データの文字列表現を返す
(公開メンバ関数) |
|
|
(C++11)
|
データの
unsigned
long
long
整数表現を返す
(公開メンバ関数) |