`
yanlijun250
  • 浏览: 783341 次
文章分类
社区版块
存档分类
最新评论

bitset练习

 
阅读更多

标准库提供的bitset类简化了位集的处理。bitset其实很简单,只是因为它不如vector和string那样常用,所以很多人都放弃了这么好用的工具。


头文件:#include<bitset>


常用的成员函数:
b.any() b中是否存在置为1的二进制位?
b.none() b中不存在置为1的二进制位吗?
b.count() b中置为1的二进制位的个数
b.size() b中二进制位数的个数
b[pos] 访问b中在pos处二进制位
b.test(pos) b中在pos处的二进制位置为1么?
b.set() 把b中所有二进制位都置为1
b.set(pos) 把b中在pos处的二进制位置为1
b.reset( ) 把b中所有二进制位都置为0
b.reset( pos ) 把b中在pos处的二进制位置置为0
b.flip( ) 把b中所有二进制位逐位取反
b.flip( pos ) 把b中在pos处的二进制位取反
b.to_ulong( ) 把b中同样的二进制位返回一个unsigned
os << b 把b中的位集输出到os流



参考资料:《C++ Primer》

MSDN:http://msdn.microsoft.com/zh-cn/library/zfae7kt8.aspx


执行结果如下所示:

bitvec.size()9
000010011
ulong = 19


bitvec.size()9
111101100
ulong = 492


bitvec.size()9
000000000
ulong = 0


请按任意键继续. . .


分享到:
评论

相关推荐

    javabitset源码-all-kinds-book:java大数据sparkflinkredishivehbasekafka面试题数据结构

    bitset 源码 all-kinds-book 主要包含 java 大数据 数据仓库 数据分析 第三方组件 面试题 数据结构与算法 设计模式 软件设计 等文档 ,可以访问我们的官网查看更多内容 [人在地上跑 牛在天上飞](#人在地上跑 牛在...

    C++大学教程,一本适合初学者的入门教材(part2)

    20.6 bitset类 20.7 函数对象 小结 术语 自测练习 自测练习答案 练习 Internet和World Wide Web中的STL资源 STL文献 第21章 ANSI/ISO C++标准语言补充 21.1 简介 21.2 bool数据类型 21.3 static—cast运算符 ...

    C++大学教程,一本适合初学者的入门教材(part1)

    20.6 bitset类 20.7 函数对象 小结 术语 自测练习 自测练习答案 练习 Internet和World Wide Web中的STL资源 STL文献 第21章 ANSI/ISO C++标准语言补充 21.1 简介 21.2 bool数据类型 21.3 static—cast运算符 ...

    Stack练习:: 十进制正整数转化成二进制

    标题中的“Stack练习:: 十进制正整数转化成二进制”表明这是一个关于编程技术的话题,特别是涉及数字系统转换,即从十进制数转换到二进制数。在计算机科学中,理解不同进制间的转换是基础且重要的技能,尤其是在处理...

    写给大忙人看的JAVA SE 8

    目录 第1章 lambda表达式 0 1.1 为什么要使用lambda表达式 2 1.2 lambda表达式的语法 4 1.3 函数式接口 6 1.4 方法引用 8 1.5 构造器引用 10 1.6 变量作用域 10 ...9.5.6 BitSet 206 练习 207 索引 209

    钱能版C++中的一道课后习题:2的3000次幂的求解方案和代码

    在C++编程语言中,计算一个大数的高次幂是一项常见的挑战,特别是在处理超过整型范围的数值时。钱能版的C++教材中提到的这道...这样的练习有助于提高编程技能,理解和运用计算机底层原理,为解决实际问题打下坚实基础。

    Java21Days_Exercises:学习Java的练习

    Java21Days_Exercises 学习了《 21天的Java》一书中学习Java的练习。 类,它们的实例和方法。 覆盖,使用“ this”和“ super”。 包,接口,访问修饰符。 异常(尝试,捕获,引发,抛出)和线程。 数据结构(BitSet...

    c++进制转换试题可以进行10->2范围转换

    在C++中,可以使用内置函数`std::bitset`或手动编程实现进制转换。下面是两种方法的示例: 1. 使用`std::bitset` ```cpp #include &lt;bitset&gt; #include int main() { int decimal = 10; std::bitset&lt;32&gt; binary...

    datastruct:位集、出队、双向链表

    go中的一些数据结构! bitset.go: 在 go 中实现 bitset(显然),但更重要的是这是我第一次真正涉足 TDD... 我会,在未来的某个时候,像我对 bitset 所做的那样回来测试这个,可能会练习更多的 TDD 并完全重做。

    第十五届蓝桥杯大赛软件赛省赛第二场 C/C++ 大学 A组

    void dfs(int x, int y, bitset*N&gt; black, bitset*N&gt; white) { if (x == N) { if (black.count() + white.count() == N * N) { // 满盘 res++; } return; } if (y == N) { x++, y = 0; } // 尝试不下棋 ...

    c++十进制二进制互换

    在计算机科学中,数据通常以二进制形式存储和处理,但人类更习惯于使用十进制进行交流。C++是一种强大的编程...通过练习和应用这些转换方法,你可以更好地掌握位操作和数值表示,从而在编写高效算法时更加得心应手。

    Think in Java(中文版)chm格式

    8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未...

    JAVA_Thinking in Java

    8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未支持的操作 ...

    Java初学者入门教学

    8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未支持的操作 ...

    ThinkInJava

    8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未支持的操作 ...

    java 编程入门思考

    8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未支持的操作 ...

    thinkinjava

    8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未支持的操作 ...

    Thinking in Java简体中文(全)

    8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未支持的操作 ...

    java联想(中文)

    8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未支持的操作 ...

    全国计算机等级考试二级Java上机真题南开一百题.pdf

    全国计算机等级考试二级Java上机真题主要涵盖了Java语言的基础操作、简单应用和综合应用等方面的知识。以下是对这些知识点的详细解析: ...通过不断地练习和实践,考生可以提升自己的编程能力和问题解决能力。

Global site tag (gtag.js) - Google Analytics