std::popcount
Von cppreference.com
| Definiert in Header <bit> |
||
| template< class T > constexpr int popcount( T x ) noexcept; |
(seit C++20) | |
Gibt die Anzahl der 1er Bits im Wert von x zurück.
Diese Überladung nimmt an der Überladungsauflösung teil, nur wenn T ein vorzeichenloser Ganzzahltyp ist (d.h. unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long oder ein erweiterter vorzeichenloser Ganzzahltyp).
Inhalt |
[bearbeiten] Parameter
| x | - | Wert vom Typ vorzeichenlose Ganzzahl |
[bearbeiten] Rückgabewert
Die Anzahl der 1er Bits im Wert von x.
[bearbeiten] Hinweise
Der Name popcount ist eine Abkürzung für "population count" (Bevölkerungszählung).
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_bitops |
201907L |
(C++20) | Bitoperationen |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <bit> #include <bitset> #include <cstdint> #include <iostream> static_assert(std::popcount(0xFULL) == 4); int main() { for (const std::uint8_t x : {0, 0b00011101, 0b11111111}) std::cout << "popcount( " << std::bitset<8>(x) << " ) = " << std::popcount(x) << '\n'; }
Ausgabe
popcount( 00000000 ) = 0 popcount( 00011101 ) = 4 popcount( 11111111 ) = 8
[bearbeiten] Siehe auch
| (C++20) |
zählt die Anzahl aufeinanderfolgender 0-Bits, beginnend mit dem höchstwertigen Bit (Funktion-Template) |
| (C++20) |
zählt die Anzahl aufeinanderfolgender 1-Bits, beginnend mit dem höchstwertigen Bit (Funktion-Template) |
| (C++20) |
zählt die Anzahl aufeinanderfolgender 0-Bits, beginnend mit dem niedrigstwertigen Bit (Funktion-Template) |
| (C++20) |
zählt die Anzahl aufeinanderfolgender 1-Bits, beginnend mit dem niedrigstwertigen Bit (Funktion-Template) |
| (C++20) |
prüft, ob eine Zahl eine ganzzahlige Zweierpotenz ist (Funktion-Template) |
| gibt die Anzahl der auf true gesetzten Bits zurück (public member function of std::bitset<N>) | |
| prüft, ob alle, einige oder keine der Bits auf true gesetzt sind (public member function of std::bitset<N>) |