Namensräume
Varianten
Aktionen

std::bitset<N>::to_ulong

Von cppreference.com
< cpp‎ | utility‎ | bitset
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
unsigned long to_ulong() const
(constexpr seit C++23)

Konvertiert den Inhalt des Bitsets in eine unsigned long-Ganzzahl.

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

Inhalt

[bearbeiten] Parameter

(keine)

[bearbeiten] Rückgabewert

Die konvertierte Ganzzahl.

[bearbeiten] Ausnahmen

Wirft std::overflow_error, wenn der Wert nicht in unsigned long dargestellt werden kann.

[bearbeiten] Beispiel

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

Mögliche Ausgabe

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

[bearbeiten] Siehe auch

gibt eine Zeichenkettenrepräsentation der Daten zurück
(public member function) [edit]
(C++11)
gibt eine unsigned long long-Ganzzahlrepräsentation der Daten zurück
(public member function) [edit]