std::bitset<N>::to_ulong
unsigned long to_ulong() const | (constexpr с C++23) |
Преобразует содержимое бита в unsigned long целое число.
Первый бит бита соответствует младшему разряду числа, а последний бит — старшему разряду.
Параметры
(нет)
Возвращаемое значение
Преобразованное целое число.
Исключения
Выбрасывает std::overflow_error если значение не может быть представлено в unsigned long.
Пример
#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 (публичный метод-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/bitset/to_ulong