Spec-Zone.ru › C++

Стандартная библиотека заголовок <bit> (C++20)

Этот заголовок является частью библиотеки numeric.

Типы

endian
(C++20)
указывает порядок байтов в скалярных типах
(перечисление)

Функции

bit_cast
(C++20)
повторно интерпретирует представление объекта одного типа как представление другого
(шаблон функции)
byteswap
(C++23)
инвертирует порядок байтов в заданном целочисленном значении
(шаблон функции)
has_single_bit
(C++20)
проверяет, является ли число целой степенью 2
(шаблон функции)
bit_ceil
(C++20)
находит наименьшую целую степень двойки, не меньшую, чем заданное значение
(шаблон функции)
bit_floor
(C++20)
находит наибольшую целую степень двойки, не большую, чем заданное значение
(шаблон функции)
bit_width
(C++20)
находит минимальное количество битов, необходимых для представления данного значения
(шаблон функции)
rotl
(C++20)
вычисляет результат циклического сдвига влево
(шаблон функции)
rotr
(C++20)
вычисляет результат циклического сдвига вправо
(шаблон функции)
countl_zero
(C++20)
подсчитывает количество последовательных ​0​ битов, начиная с старшего бита
(шаблон функции)
countl_one
(C++20)
подсчитывает количество последовательных 1 битов, начиная с старшего бита
(шаблон функции)
countr_zero
(C++20)
подсчитывает количество последовательных ​0​ битов, начиная с младшего бита
(шаблон функции)
countr_one
(C++20)
подсчитывает количество последовательных 1 битов, начиная с младшего бита
(шаблон функции)
popcount
(C++20)
подсчитывает количество 1 битов в беззнаковом целом числе
(шаблон функции)

Синопсис

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;
 
  // integral powers of 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;
 
  // rotating
  template<class T>
    [[nodiscard]] constexpr T rotl(T x, int s) noexcept;
  template<class T>
    [[nodiscard]] constexpr T rotr(T x, int s) noexcept;
 
  // counting
  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 = /* see description */,
    big    = /* see description */,
    native = /* see description */
  };
}

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/header/bit

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API