std::bitset<N>::to_ullong
Материал из cppreference.com
<tbody>
</tbody>
unsigned long long to_ullong() const |
(начиная с C++11) (constexpr начиная с C++23) |
|
Преобразует содержимое битового набора в целочисленное значение типа unsigned long long.
Первый бит набора битов соответствует младшей значащей цифре числа, а последний бит соответствует старшей значащей цифре.
Параметры
(нет)
Возвращаемое значение
Преобразованное целое число
Исключения
Вызывает исключение std::overflow_error, если значение не может быть представлено в unsigned long long.
Пример
Запустить этот код
#include <iostream>
#include <bitset>
#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(); // генерирует исключение
}
catch (const std::overflow_error& ex)
{
std::cout << "ex: " << ex.what() << '\n';
}
}
Вывод:
0001001000110100010101100111100010011010101111001101111011110000 123456789abcdef0
1110110111001011101010011000011101100101010000110010000100001111 edcba9876543210f
ex: _Base_bitset::_M_do_to_ullong
Смотрите также
| возвращает строковое представление данных (public функция-элемент) | |
возвращает целочисленное представление данных в типе unsigned long (public функция-элемент) |