std:: popcount
|
Défini dans l'en-tête
<bit>
|
||
|
template
<
class
T
>
constexpr int popcount ( T x ) noexcept ; |
(depuis C++20) | |
Retourne le nombre de 1 bits dans la valeur de x .
Cette surcharge participe à la résolution de surcharge uniquement si
T
est un type entier non signé (c'est-à-dire,
unsigned
char
,
unsigned
short
,
unsigned
int
,
unsigned
long
,
unsigned
long
long
, ou un type entier non signé étendu).
Table des matières |
Paramètres
| x | - | valeur de type entier non signé |
Valeur de retour
Le nombre de 1 bits dans la valeur de x .
Notes
Le terme
popcount
est une contraction de « population count ».
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_bitops
|
201907L
|
(C++20) | Opérations sur les bits |
Exemple
#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'; }
Sortie :
popcount( 00000000 ) = 0 popcount( 00011101 ) = 4 popcount( 11111111 ) = 8
Voir aussi
|
(C++20)
|
compte le nombre de bits
0
consécutifs, en commençant par le bit le plus significatif
(modèle de fonction) |
|
(C++20)
|
compte le nombre de bits
1
consécutifs, en commençant par le bit le plus significatif
(modèle de fonction) |
|
(C++20)
|
compte le nombre de bits
0
consécutifs, en commençant par le bit le moins significatif
(modèle de fonction) |
|
(C++20)
|
compte le nombre de bits
1
consécutifs, en commençant par le bit le moins significatif
(modèle de fonction) |
|
(C++20)
|
vérifie si un nombre est une puissance entière de
2
(modèle de fonction) |
|
retourne le nombre de bits définis à
true
(fonction membre publique de
std::bitset<N>
)
|
|
|
vérifie si tous, au moins un ou aucun des bits sont définis à
true
(fonction membre publique de
std::bitset<N>
)
|