Namespaces
Variants

std::bitset<N>:: to_ulong

From cppreference.net
Utilities library
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 entspricht der höchstwertigen Ziffer.

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

Die konvertierte Ganzzahl.

Ausnahmen

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

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

Siehe auch

gibt eine Zeichenkettenrepräsentation der Daten zurück
(öffentliche Elementfunktion)
(C++11)
gibt eine unsigned long long Integer-Repräsentation der Daten zurück
(öffentliche Elementfunktion)