Namespaces
Variants

Standard library header <bit> (C++20)

From cppreference.net
Standard library headers

Este encabezado es parte de la biblioteca numérica .

Tipos

(C++20)
indica el endianness de los tipos escalares
(enum)

Funciones

(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)
comprueba si un número es una potencia entera de 2
(plantilla de función)
(C++20)
encuentra la menor potencia entera de 2 no menor que el valor dado
(plantilla de función)
(C++20)
encuentra la mayor potencia entera de 2 no mayor que el valor dado
(plantilla de función)
(C++20)
encuentra el menor número de bits necesarios para representar el valor dado
(plantilla de funció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)
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 1 consecutivos, comenzando desde el bit menos significativo
(plantilla de función)
(C++20)
cuenta el número de bits 1 en un entero sin signo
(plantilla de función)

Sinopsis

namespace std {
  // bit_cast
  template<class To, class From>
    constexpr To bit_cast(const From& from) noexcept;
  // byteswap
  template <class T>
    constexpr T byteswap(T value) noexcept;
  // potencias integrales de 2
  template<class T>
    constexpr bool has_single_bit(T x) noexcept;
  template<class T>
    constexpr T bit_ceil(T x);
  template<class T>
    constexpr T bit_floor(T x) noexcept;
  template<class T>
    constexpr int bit_width(T x) noexcept;
  // rotación
  template<class T>
    constexpr T rotl(T x, int s) noexcept;
  template<class T>
    constexpr T rotr(T x, int s) noexcept;
  // conteo
  template<class T>
    constexpr int countl_zero(T x) noexcept;
  template<class T>
    constexpr int countl_one(T x) noexcept;
  template<class T>
    constexpr int countr_zero(T x) noexcept;
  template<class T>
    constexpr int countr_one(T x) noexcept;
  template<class T>
    constexpr int popcount(T x) noexcept;
  // endian
  enum class endian {
    little = /* ver descripción */,
    big    = /* ver descripción */,
    native = /* ver descripción */
  };
}