C++bitset所有函数介绍

❤️️

大家好!我是曾续缘

欢迎关注

❤️点赞 收藏 ⭐再看,养成习惯

做人要有梦想,但更重要的是要有行动。

C++ STL 中的 bitset 是一种用于处理二进制位的容器类型。下面列出了 bitset 类中所有可用的函数:

构造函数

  1. bitset():默认构造函数,创建一个长度为 N 的位集合,所有位都被设为 0。
  2. bitset(unsigned long val):用一个 unsigned long 类型的整数初始化位集合,最高位映射到位集合上的第 N-1 位(N 为位集合的长度)。
  3. bitset(unsigned long long val):用一个 unsigned long long 类型的整数初始化位集合,最高位映射到位集合上的第 N-1 位(N 为位集合的长度)。
  4. bitset(const string& str, size_t pos = 0, size_t n = npos, char zero = '0', char one = '1'):用给定的字符串初始化位集合,将字符串中的字符 zero 映射到 0,将字符 one 映射到 1。

成员函数

  1. bool any() const:检查是否存在某个位被设为 1,如果存在,则返回 true,否则返回 false。
  2. bool all() const:检查是否所有的位都被设为 1,如果是,则返回 true,否则返回 false。
  3. bool none() const:检查是否没有任何一位被设为 1,如果是,则返回 true,否则返回 false。
  4. size_t count() const:返回当前位集合中的 1 的个数。
  5. constexpr size_t size() const noexcept;:返回当前位集合的长度。
  6. bitset operator~() const:按位取反,返回一个新的 bitset 对象,其每个位的值都是取反后的结果。
  7. bitset& operator&=(const bitset& rhs):按位与,并将结果保存到调用对象中。
  8. bitset& operator|=(const bitset& rhs):按位或,并将结果保存到调用对象中。
  9. bitset& operator^=(const bitset& rhs):按位异或,并将结果保存到调用对象中。
  10. bitset& operator<<=(size_t pos):将整个位集合左移 pos 位。如果 pos 大于等于 N,则结果为全 0。
  11. bitset& operator>>=(size_t pos):将整个位集合右移 pos 位。如果 pos 大于等于 N,则结果为全 0。
  12. bitset& set():将所有的位都设为 1。
  13. bitset& set(size_t pos, bool val = true):将位集合上的第 pos 位设为 val。
  14. bitset& reset():将所有的位都设为 0。
  15. bitset& reset(size_t pos):将位集合上的第 pos 位设为 0。
  16. bitset& flip():对所有的位按位取反。
  17. bitset& flip(size_t pos):将位集合上的第 pos 位按位取反。
  18. unsigned long to_ulong() const:将位集合转换为一个 unsigned long 类型的数值,如果超出范围,则会抛出 std::overflow_error 异常。
  19. unsigned long long to_ullong() const:将位集合转换为一个 unsigned long long 类型的数值,如果超出范围,则会抛出 std::overflow_error 异常。
  20. reference operator[](size_t pos):返回位集合中第 pos 位的引用。
  21. bool operator[](size_t pos) const:返回位集合中第 pos 位的值。
  22. string to_string(char zero = '0', char one = '1') const:将位集合转换为一个字符串,将字符 zero 映射到 0,将字符 one 映射到 1。

你可能感兴趣的:(c++,开发语言)