std:: popcount
|
Definido en el encabezado
<bit>
|
||
|
template
<
class
T
>
constexpr int popcount ( T x ) noexcept ; |
(desde C++20) | |
Devuelve el número de 1 bits en el valor de x .
Esta sobrecarga participa en la resolución de sobrecarga solo si
T
es un tipo entero sin signo (es decir,
unsigned
char
,
unsigned
short
,
unsigned
int
,
unsigned
long
,
unsigned
long
long
, o un tipo entero sin signo extendido).
Contenidos |
Parámetros
| x | - | valor de tipo entero sin signo |
Valor de retorno
El número de 1 bits en el valor de x .
Notas
El nombre
popcount
es una contracción de "population count".
| Macro de prueba de características | Valor | Std | Característica |
|---|---|---|---|
__cpp_lib_bitops
|
201907L
|
(C++20) | Operaciones de bits |
Ejemplo
#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'; }
Salida:
popcount( 00000000 ) = 0 popcount( 00011101 ) = 4 popcount( 11111111 ) = 8
Véase también
|
(C++20)
|
cuenta el número de bits
0
consecutivos, comenzando desde el bit más significativo
(plantilla de función) |
|
(C++20)
|
cuenta el número de bits
1
consecutivos, comenzando desde el bit más significativo
(plantilla de función) |
|
(C++20)
|
cuenta el número de bits
0
consecutivos, comenzando desde el bit menos significativo
(plantilla de función) |
|
(C++20)
|
cuenta el número de bits
1
consecutivos, comenzando desde el bit menos significativo
(plantilla de función) |
|
(C++20)
|
verifica si un número es una potencia entera de
2
(plantilla de función) |
|
retorna el número de bits establecidos en
true
(función miembro pública de
std::bitset<N>
)
|
|
|
verifica si todos, alguno o ninguno de los bits están establecidos en
true
(función miembro pública de
std::bitset<N>
)
|