std::bitset<N>::to_ulong
Материал из cppreference.com
<tbody>
</tbody>
unsigned long to_ulong() const |
(constexpr начиная с C++23) | |
Преобразует содержимое битового набора в целочисленное значение типа unsigned long.
Первый бит набора битов соответствует младшей значащей цифре числа, а последний бит соответствует старшей значащей цифре.
Параметры
(нет)
Возвращаемое значение
Целое число, полученное из битового набора
Исключения
Вызывает исключение std::overflow_error, если значение не может быть представлено в unsigned long.
Пример
Запустить этот код
#include <iostream>
#include <stdexcept>
#include <bitset>
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'; // вызывает исключение
} 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
Смотрите также
| возвращает строковое представление данных (public функция-элемент) | |
(C++11) |
возвращает целочисленное представление данных в типе unsigned long long (public функция-элемент) |