Standard library header <bit> (C++20)
From cppreference.net
Этот заголовок является частью numeric библиотеки.
Типы |
|
|
(C++20)
|
указывает порядок байтов скалярных типов
(перечисление) |
Функции |
|
|
(C++20)
|
переинтерпретирует представление объекта одного типа как представление другого типа
(шаблон функции) |
|
(C++23)
|
обращает порядок байтов в заданном целочисленном значении
(шаблон функции) |
|
(C++20)
|
проверяет, является ли число целой степенью
2
(шаблон функции) |
|
(C++20)
|
находит наименьшую целую степень
2
не меньшую заданного значения
(шаблон функции) |
|
(C++20)
|
находит наибольшую целую степень
2
не большую заданного значения
(шаблон функции) |
|
(C++20)
|
находит минимальное количество битов, необходимое для представления заданного значения
(шаблон функции) |
|
(C++20)
|
вычисляет результат побитового циклического сдвига влево
(шаблон функции) |
|
(C++20)
|
вычисляет результат побитового циклического сдвига вправо
(шаблон функции) |
|
(C++20)
|
подсчитывает количество последовательных
0
битов, начиная со старшего бита
(шаблон функции) |
|
(C++20)
|
подсчитывает количество последовательных
1
битов, начиная со старшего бита
(шаблон функции) |
|
(C++20)
|
подсчитывает количество последовательных
0
битов, начиная с младшего бита
(шаблон функции) |
|
(C++20)
|
подсчитывает количество последовательных
1
битов, начиная с младшего бита
(шаблон функции) |
|
(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; // целочисленные степени 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; // вращение template<class T> constexpr T rotl(T x, int s) noexcept; template<class T> constexpr T rotr(T x, int s) noexcept; // подсчет 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; // порядок байтов enum class endian { little = /* см. описание */, big = /* см. описание */, native = /* см. описание */ }; }