std::bitset<N>::to_ulong
Depuis fr.cppreference.net
unsigned long to_ulong() const
|
(constexpr depuis C++23) | |
Convertit le contenu du bitset en un entier unsigned long de type unsigned long.
Le premier bit du bitset correspond au chiffre de poids faible du nombre et le dernier bit correspond au chiffre de poids fort.
Valeur de retour
L'entier converti.
Exceptions
Lève std::overflow_error si la valeur ne peut pas être représentée dans unsigned long.
Exemple
Exécuter ce code
#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) |