std::bitset类

  std::bitset 是 C++ 标准库中的一个类,用于表示整数的二进制位序列。它提供了一种方便的方式来处理二进制数据,尤其适用于位运算操作。

一、构造函数

#include 
 ​
std::bitset bitset1; // 创建一个长度为 N 的 bitset,所有位都被初始化为 0
std::bitset bitset2(value); // 将整数value以长度为N的二进制形式存储在bitste2中
std::bitset bitset3(string); // 将只包含0/1的字符串 string 初始化一个长度为 N 的 bitset
std::bitset bitset4(bitset); // 使用另一个 bitset 初始化一个长度为 N 的 bitset

bitset<8> a(-1);   //a=[11111111]
bitset<8> b(1);    //b=[00000001]

二、常用方法

  • size() 返回 std::bitset 的长度
  • count() 返回 std::bitset 中值为 1 的位的数量
  • any() 返回 std::bitset 中是否存在值为 1 的位
  • none() 返回 std::bitset 中是否所有位都是 0
  • all() 返回 std::bitset 中是否所有位都是 1
  • test(pos) 返回 std::bitset 中位于 pos 位置的值
  • set(pos) 将 std::bitset 中位于 pos 位置的值设为 1
  • reset(pos) 将 std::bitset 中位于 pos 位置的值设为 0
  • flip(pos) 将 std::bitset 中位于 pos 位置的值取反
  • to_ulong() 返回 std::bitset 转换成的无符号整数值
  • to_ullong() 返回 std::bitset 转换成的无符号长整数值

你可能感兴趣的:(C++编程经验分享,算法)