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)
|
指示标量类型的字节序
(枚举) |
|
注释
| 功能测试 宏 | 值 | 标准 | 功能 |
|---|---|---|---|
__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 文档
关于
位操作
|