Стандартная библиотека заголовок <bit> (C++20)
Этот заголовок является частью библиотеки numeric.
Типы |
|
|
(C++20) | указывает порядок байтов в скалярных типах (перечисление) |
Функции |
|
|
(C++20) | повторно интерпретирует представление объекта одного типа как представление другого (шаблон функции) |
|
(C++23) | инвертирует порядок байтов в заданном целочисленном значении (шаблон функции) |
|
(C++20) | проверяет, является ли число целой степенью 2 (шаблон функции) |
|
(C++20) | находит наименьшую целую степень двойки, не меньшую, чем заданное значение (шаблон функции) |
|
(C++20) | находит наибольшую целую степень двойки, не большую, чем заданное значение (шаблон функции) |
|
(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;
// 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