C++bitset所有函数介绍

❤️️💚💙💛🧡💜🖤🤍🧡

大家好!我是曾续缘🥰

欢迎关注💕

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

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

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

构造函数

  1. bitset<N>():默认构造函数,创建一个长度为 N 的位集合,所有位都被设为 0。
  2. bitset<N>(unsigned long val):用一个 unsigned long 类型的整数初始化位集合,最高位映射到位集合上的第 N-1 位(N 为位集合的长度)。
  3. bitset<N>(unsigned long long val):用一个 unsigned long long 类型的整数初始化位集合,最高位映射到位集合上的第 N-1 位(N 为位集合的长度)。
  4. bitset<N>(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<N> operator~() const:按位取反,返回一个新的 bitset 对象,其每个位的值都是取反后的结果。
  7. bitset<N>& operator&=(const bitset<N>& rhs):按位与,并将结果保存到调用对象中。
  8. bitset<N>& operator|=(const bitset<N>& rhs):按位或,并将结果保存到调用对象中。
  9. bitset<N>& operator^=(const bitset<N>& rhs):按位异或,并将结果保存到调用对象中。
  10. bitset<N>& operator<<=(size_t pos):将整个位集合左移 pos 位。如果 pos 大于等于 N,则结果为全 0。
  11. bitset<N>& operator>>=(size_t pos):将整个位集合右移 pos 位。如果 pos 大于等于 N,则结果为全 0。
  12. bitset<N>& set():将所有的位都设为 1。
  13. bitset<N>& set(size_t pos, bool val = true):将位集合上的第 pos 位设为 val。
  14. bitset<N>& reset():将所有的位都设为 0。
  15. bitset<N>& reset(size_t pos):将位集合上的第 pos 位设为 0。
  16. bitset<N>& flip():对所有的位按位取反。
  17. bitset<N>& 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。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值