Namespaces
Variants

位操作 (自 C++20 起)

源自 zh.cppreference.net
 
 
 
位操作
(C++20)
(C++23)
2 的整数幂
(C++20)
(C++20)
(C++20)
移位
(C++29)
(C++29)
旋转
(C++20)
(C++20)
计数
(C++20)
(C++20)
(C++20)
排列
(C++29)
(C++29)
字节序
(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)
指示标量类型的字节序
(枚举)

注解

功能测试 宏 值 标准 功能
__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 文档 关于 位操作