std::bitset<N>::to_ullong
Материал из ru.cppreference.net
unsigned long long to_ullong() const
|
(начиная с C++11) (constexpr начиная с C++23) |
|
Преобразует содержимое bitset в unsigned long long целое число.
Первый бит bitset соответствует наименьшему значащему разряду числа, а последний бит — наибольшему значащему разряду.
Возвращаемое значение
Преобразованное целое число
Исключения
std::overflow_error, если значение не может быть представлено в unsigned long long.
Пример
Запустить этот код
#include <bitset> #include <iostream> #include <limits> int main() { std::bitset<std::numeric_limits<unsigned long long>::digits> b ( 0x123456789abcdef0LL ); std::cout << b << " " << std::hex << b.to_ullong() << '\n'; b.flip(); std::cout << b << " " << b.to_ullong() << '\n'; std::bitset<std::numeric_limits<unsigned long long>::digits + 1> q{0}; try { (~q).to_ullong(); // throws } catch (const std::overflow_error& ex) { std::cout << "ex: " << ex.what() << '\n'; } }
Вывод:
0001001000110100010101100111100010011010101111001101111011110000 123456789abcdef0 1110110111001011101010011000011101100101010000110010000100001111 edcba9876543210f ex: _Base_bitset::_M_do_to_ullong
Смотрите также
|
возвращает строковое представление данных
(публичная функция-член) |
|
|
возвращает целочисленное представление данных типа
unsigned
long
(публичная функция-член) |