Manipulación de bits (desde C++20)
De es.cppreference.net
Proporciona varias plantillas de función para acceder, manipular y procesar bits individuales y secuencias de bits.
Definido en el encabezado
<bit> | |
Definido en el espacio de nombres
std | |
(C++20) |
reinterpreta la representación de objeto de un tipo como la de otro (plantilla de función) |
(C++23) |
invierte los bytes en el valor entero dado (plantilla de función) |
Potencias integrales de 2 |
|
|
(C++20)
|
comprueba si un número es una potencia entera de
2
(plantilla de función) |
|
(C++20)
|
encuentra la menor potencia integral de
2
no menor que el valor dado
(plantilla de función) |
|
(C++20)
|
encuentra la mayor potencia integral de
2
no mayor que el valor dado
(plantilla de función) |
|
(C++20)
|
encuentra el número mínimo de bits necesarios para representar el valor dado
(plantilla de función) |
Desplazamiento (desde C++29) | |
(C++29) |
desplaza a la izquierda sin posibilidad de comportamiento indefinido (plantilla de función) |
(C++29) |
desplaza a la derecha sin posibilidad de comportamiento indefinido (plantilla de función) |
Rotación |
|
|
(C++20)
|
calcula el resultado de la rotación a la izquierda a nivel de bits
(plantilla de función) |
|
(C++20)
|
calcula el resultado de la rotación a la derecha a nivel de bits
(plantilla de función) |
Conteo |
|
|
(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 consecutivos
1
, comenzando desde el bit menos significativo
(plantilla de función) |
|
(C++20)
|
cuenta el número de
1
bits en un entero sin signo
(plantilla de función) |
Permutación (desde C++29) | |
(C++29) |
invierte los bits en un entero (plantilla de función) |
(C++29) |
repite/difunde un patrón de bits de longitud especificada (plantilla de función) |
(C++29) |
comprime bits de un operando usando una máscara (PEXT) (plantilla de función) |
(C++29) |
expande bits desde un operando usando una máscara (PDEP) (plantilla de función) |
Endian |
|
|
(C++20)
|
indica el endianness de los tipos escalares
(enum) |
Notas
| Macro de prueba de funcionalidad | Valor | Estándar | Funcionalidad |
|---|---|---|---|
__cpp_lib_bit_cast |
201806L |
(C++20) | std::bit_cast |
__cpp_lib_bitops |
201907L |
(C++20) | Operaciones de bits |
202606L |
(C++29) | Permutación de bits | |
__cpp_lib_int_pow2 |
202002L |
(C++20) | Operaciones de potencias de 2 enteras |
__cpp_lib_byteswap |
202110L |
(C++23) | std::byteswap |
Véase también
|
Documentación de C
para
Manipulación de bits
|