Namespaces
Variants

Bit manipulation (since C++20)

From cppreference.net
Utilities library

提供多个函数模板用于访问、操作和处理单个比特位及比特序列。

定义于头文件 <bit>
定义于命名空间 std
(C++20)
将一个类型的对象表示重新解释为另一个类型
(函数模板)
(C++23)
反转给定整数值中的字节顺序
(函数模板)

目录

2的整数次幂
检查一个数是否为2的整数次幂
(函数模板)
(C++20)
寻找不小于给定值的最小2的整数次幂
(函数模板)
(C++20)
寻找不大于给定值的最大2的整数次幂
(函数模板)
(C++20)
寻找表示给定值所需的最小位数
(函数模板)
循环移位
(C++20)
计算逐位左旋转的结果
(函数模板)
(C++20)
计算逐位右旋转的结果
(函数模板)
位计数
从最高有效位开始计数连续 0 位的数量
(函数模板)
(C++20)
从最高有效位开始计数连续 1 位的数量
(函数模板)
从最低有效位开始计数连续 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 文档 关于 位操作