Namespaces
Variants

Битовые манипуляции (начиная с C++20)

Материал из ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования возможностей библиотеки (C++20)
Утилиты программы
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
 

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

Определён в заголовке <bit>
Определён в пространстве имён std
(C++20)
переинтерпретирует объектное представление одного типа как представление другого
(шаблон функции)
(C++23)
меняет порядок байтов в заданном целочисленном значении
(шаблон функции)
Целые степени 2
проверяет, является ли число целой степенью 2
(шаблон функции)
(C++20)
находит наименьшую целочисленную степень 2 не меньшую заданного значения
(шаблон функции)
(C++20)
находит наибольшую целочисленную степень 2 не превышающую заданное значение
(шаблон функции)
(C++20)
находит минимальное количество битов, необходимое для представления заданного значения
(шаблон функции)
Сдвиг (начиная с C++29)
(C++29)
сдвиг влево без возможности неопределённого поведения
(шаблон функции)
(C++29)
сдвиг вправо без возможности неопределённого поведения
(шаблон функции)
Вращение
(C++20)
вычисляет результат побитового поворота влево
(шаблон функции)
(C++20)
вычисляет результат побитового поворота вправо
(шаблон функции)
Подсчет
подсчитывает количество последовательных ​ 0 ​ битов, начиная со старшего бита
(шаблон функции)
(C++20)
подсчитывает количество последовательных 1 битов, начиная со старшего бита
(шаблон функции)
подсчитывает количество последовательных ​ 0 ​ битов, начиная с младшего бита
(шаблон функции)
(C++20)
подсчитывает количество последовательных 1 битов, начиная с младшего бита
(шаблон функции)
(C++20)
подсчитывает количество 1 битов в беззнаковом целом числе
(шаблон функции)
Перестановка (начиная с C++29)
обратный порядок битов в целочисленном значении
(шаблон функции)
повторяет/расширяет битовый шаблон заданной длины
(шаблон функции)
сжимает биты операнда с использованием маски (PEXT)
(шаблон функции)
расширяет биты операнда с использованием маски (PDEP)
(шаблон функции)
Порядок байтов
(C++20)
указывает порядок байтов скалярных типов
(enum)

Примечания

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

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

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