Namespaces
Variants

Bit manipulation (since C++20)

From cppreference.net
Utilities library

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)
reinterpretar 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)

Contenidos

Potencias integrales de 2
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)
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
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)
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)
Endian
(C++20)
indica el endianness de los tipos escalares
(enum)

Notas

Macro de prueba de características Valor Estándar Característica
__cpp_lib_bit_cast 201806L (C++20) std::bit_cast
__cpp_lib_bitops 201907L (C++20) Operaciones de bits
__cpp_lib_int_pow2 202002L (C++20) Operaciones de potencia de- 2 enteras
__cpp_lib_byteswap 202110L (C++23) std::byteswap

Véase también

Documentación de C para Manipulación de bits