Namespaces
Variants

std::bitset<N>:: to_ullong

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

Wandelt den Inhalt des Bitsets in eine unsigned long long Ganzzahl um.

Das erste Bit des Bitsets entspricht der niedrigstwertigen Ziffer der Zahl und das letzte Bit entspricht der höchstwertigen Ziffer.

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

Die konvertierte Ganzzahl

Exceptions

std::overflow_error falls der Wert nicht dargestellt werden kann in unsigned long long .

Beispiel

#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(); // wirft Exception
    }
    catch (const std::overflow_error& ex)
    {
        std::cout << "ex: " << ex.what() << '\n';
    }
}

Ausgabe:

0001001000110100010101100111100010011010101111001101111011110000  123456789abcdef0
1110110111001011101010011000011101100101010000110010000100001111  edcba9876543210f
ex: _Base_bitset::_M_do_to_ullong

Siehe auch

gibt eine String-Darstellung der Daten zurück
(öffentliche Elementfunktion)
gibt eine unsigned long Integer-Darstellung der Daten zurück
(öffentliche Elementfunktion)