std::bit_reverse
Из ru.cppreference.net
| Возвращает <bit>
|
||
template< class T >
constexpr T bit_reverse( T x ) noexcept;
|
с обратным порядком битов. | |
Эта перегрузка участвует в разрешении перегрузки только если x является беззнаковым целым типом (то есть
, T, unsigned char, unsigned short, unsigned int, unsigned long, или расширенным беззнаковым целым типом).
unsigned long longСодержание
x
| - | значение беззнакового целого типа | Возвращаемое значение |
с обратным порядком битов.
xПримечания
Функция обычно реализуется с помощью встроенной функции (intrinsic), такой как Clang's
, и имеет тот же эффект, что и инструкция __builtin_bitreverse на процессорах ARM.
rbitМакрос проверки возможности
| ЗначениеСтандарт | Возможность | (C++29) | Перестановки битов |
|---|---|---|---|
__cpp_lib_bitops |
202606L |
Пример | Запустить этот код |
Смотрите также
rotl
#include <bit>
#include <cstdint>
static_assert(
std::bit_reverse(
std::uint8_t{0b1010'0011}) ==
std::uint8_t{0b1100'0101} and
std::bit_reverse(
std::uint16_t{0b1010'0011}) ==
std::uint16_t{0b1100'0101'0000'0000}
);
int main() {}
(C++20)
(шаблон функции) |
rotr (C++20) |
(шаблон функции) |
byteswap (C++23) |
(шаблон функции) |