Namespaces
Variants

std::bitset<N>:: to_ullong

From cppreference.net
Utilities library
unsigned long long to_ullong ( ) const
(desde C++11)
(constexpr desde C++23)

Convierte el contenido del bitset a un unsigned long long entero.

El primer bit del bitset corresponde al dígito menos significativo del número y el último bit corresponde al dígito más significativo.

Contenidos

Parámetros

(ninguno)

Valor de retorno

El entero convertido

Excepciones

std::overflow_error si el valor no puede ser representado en unsigned long long .

Ejemplo

#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';
    }
}

Salida:

0001001000110100010101100111100010011010101111001101111011110000  123456789abcdef0
1110110111001011101010011000011101100101010000110010000100001111  edcba9876543210f
ex: _Base_bitset::_M_do_to_ullong

Véase también

devuelve una representación en cadena de los datos
(función miembro pública)
devuelve una representación entera unsigned long de los datos
(función miembro pública)