std::bit_reverse
来自cppreference.com
| 在标头 <bit> 定义
|
||
| |
(C++29 起) | |
返回 x,其位的顺序被反转。
此重载只有在T 是无符号整数类型(即 unsigned char、unsigned short、unsigned int、unsigned long、unsigned long long,或扩充无符号整数类型)时才会参与重载决议。
参数
| x | - | 无符号整数类型的值 |
返回值
x,其位的顺序被反转。
注解
该函数通常使用内建函数(如 Clang 的 __builtin_bitreverse)实现,其效果与 ARM CPU 上的 rbit 指令相同。
| 功能特性测试宏 | 值 | 标准 | 功能特性 |
|---|---|---|---|
__cpp_lib_bitops |
202606L |
(C++29) | 位排列 |
示例
运行此代码
#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) |
计算逐位左旋转的结果 (函数模板) |
(C++20) |
计算逐位右旋转的结果 (函数模板) |
(C++23) |
反转给定整数中的字节 (函数模板) |