Bit manipulation (since C++20)
From cppreference.net
Предоставляет несколько шаблонов функций для доступа, манипуляции и обработки отдельных битов и битовых последовательностей.
|
Определено в заголовке
<bit>
|
||
|
Определено в пространстве имён
std
|
||
|
(C++20)
|
переинтерпретировать представление объекта одного типа как представление другого типа
(шаблон функции) |
|
|
(C++23)
|
изменяет порядок байтов в заданном целочисленном значении
(шаблон функции) |
|
Целые степени 2 |
||
|
(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
битов в беззнаковом целом числе
(шаблон функции) |
|
Порядок байтов |
||
|
(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
|