Namespaces
Variants

std::bitset<N>:: to_ulong

From cppreference.net
Utilities library
unsigned long to_ulong ( ) const
(constexpr depuis C++23)

Convertit le contenu du bitset en un unsigned long entier.

Le premier bit du bitset correspond au chiffre le moins significatif du nombre et le dernier bit correspond au chiffre le plus significatif.

Table des matières

Paramètres

(aucun)

Valeur de retour

L'entier converti.

Exceptions

Lance std::overflow_error si la valeur ne peut pas être représentée dans unsigned long .

Exemple

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

Sortie possible :

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

Voir aussi

renvoie une représentation sous forme de chaîne des données
(fonction membre publique)
(C++11)
renvoie une représentation unsigned long long entière des données
(fonction membre publique)