Namespaces
Variants

Bit manipulation (since C++20)

From cppreference.net
Utilities library

Предоставляет несколько шаблонов функций для доступа, манипуляции и обработки отдельных битов и битовых последовательностей.

Определено в заголовке <bit>
Определено в пространстве имён std
(C++20)
переинтерпретировать представление объекта одного типа как представление другого типа
(шаблон функции)
(C++23)
изменяет порядок байтов в заданном целочисленном значении
(шаблон функции)

Содержание

Целые степени 2
проверяет, является ли число целой степенью 2
(шаблон функции)
(C++20)
находит наименьшую целочисленную степень 2 не меньшую заданного значения
(шаблон функции)
(C++20)
находит наибольшую целочисленную степень 2 не превышающую заданное значение
(шаблон функции)
(C++20)
находит минимальное количество битов, необходимое для представления заданного значения
(шаблон функции)
Вращение
(C++20)
вычисляет результат побитового поворота влево
(шаблон функции)
(C++20)
вычисляет результат побитового поворота вправо
(шаблон функции)
Подсчет
подсчитывает количество последовательных 0 битов, начиная со старшего бита
(шаблон функции)
(C++20)
подсчитывает количество последовательных 1 битов, начиная со старшего бита
(шаблон функции)
подсчитывает количество последовательных 0 битов, начиная с младшего бита
(шаблон функции)
(C++20)
подсчитывает количество последовательных 1 битов, начиная с младшего бита
(шаблон функции)
(C++20)
подсчитывает количество 1 битов в беззнаковом целом числе
(шаблон функции)
Порядок байтов
(C++20)
указывает порядок байтов скалярных типов
(enum)

Примечания

Макрос тестирования возможностей Значение Стандарт Функция
__cpp_lib_bit_cast 201806L (C++20) std::bit_cast
__cpp_lib_bitops 201907L (C++20) Битные операции
__cpp_lib_int_pow2 202002L (C++20) Операции со степенями двойки для целых чисел
__cpp_lib_byteswap 202110L (C++23) std::byteswap

Смотрите также

Документация C для Bit manipulation