❤️️💚💙💛🧡💜🖤🤍🧡
大家好!我是曾续缘🥰
欢迎关注💕
❤️点赞 👍 收藏 ⭐再看,养成习惯
🔥做人要有梦想,但更重要的是要有行动。📚
C++ STL 中的 bitset
是一种用于处理二进制位的容器类型。下面列出了 bitset
类中所有可用的函数:
构造函数
bitset<N>()
:默认构造函数,创建一个长度为N
的位集合,所有位都被设为 0。bitset<N>(unsigned long val)
:用一个unsigned long
类型的整数初始化位集合,最高位映射到位集合上的第 N-1 位(N 为位集合的长度)。bitset<N>(unsigned long long val)
:用一个unsigned long long
类型的整数初始化位集合,最高位映射到位集合上的第 N-1 位(N 为位集合的长度)。bitset<N>(const string& str, size_t pos = 0, size_t n = npos, char zero = '0', char one = '1')
:用给定的字符串初始化位集合,将字符串中的字符 zero 映射到 0,将字符 one 映射到 1。
成员函数
bool any() const
:检查是否存在某个位被设为 1,如果存在,则返回 true,否则返回 false。bool all() const
:检查是否所有的位都被设为 1,如果是,则返回 true,否则返回 false。bool none() const
:检查是否没有任何一位被设为 1,如果是,则返回 true,否则返回 false。size_t count() const
:返回当前位集合中的 1 的个数。constexpr size_t size() const noexcept;
:返回当前位集合的长度。bitset<N> operator~() const
:按位取反,返回一个新的bitset
对象,其每个位的值都是取反后的结果。bitset<N>& operator&=(const bitset<N>& rhs)
:按位与,并将结果保存到调用对象中。bitset<N>& operator|=(const bitset<N>& rhs)
:按位或,并将结果保存到调用对象中。bitset<N>& operator^=(const bitset<N>& rhs)
:按位异或,并将结果保存到调用对象中。bitset<N>& operator<<=(size_t pos)
:将整个位集合左移 pos 位。如果 pos 大于等于 N,则结果为全 0。bitset<N>& operator>>=(size_t pos)
:将整个位集合右移 pos 位。如果 pos 大于等于 N,则结果为全 0。bitset<N>& set()
:将所有的位都设为 1。bitset<N>& set(size_t pos, bool val = true)
:将位集合上的第 pos 位设为 val。bitset<N>& reset()
:将所有的位都设为 0。bitset<N>& reset(size_t pos)
:将位集合上的第 pos 位设为 0。bitset<N>& flip()
:对所有的位按位取反。bitset<N>& flip(size_t pos)
:将位集合上的第 pos 位按位取反。unsigned long to_ulong() const
:将位集合转换为一个 unsigned long 类型的数值,如果超出范围,则会抛出 std::overflow_error 异常。unsigned long long to_ullong() const
:将位集合转换为一个 unsigned long long 类型的数值,如果超出范围,则会抛出 std::overflow_error 异常。reference operator[](size_t pos)
:返回位集合中第 pos 位的引用。bool operator[](size_t pos) const
:返回位集合中第 pos 位的值。string to_string(char zero = '0', char one = '1') const
:将位集合转换为一个字符串,将字符 zero 映射到 0,将字符 one 映射到 1。