C++ 标准库 bitset类型
来源:互联网 发布:java计算n的阶乘 编辑:程序博客网 时间:2024/05/18 02:40
C++ 标准库 bitset类型
有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。
1,bitset对象的定义和初始化
#include<iostream>#include<bitset>#include<string>using namespace std;int main(){bitset<32> a;//初始化默认32个0bitset<32> b(0xffff); //前16个为0,后16个为1 bitset<16> c(0xffff);//十六进制转换二进制为16个1 bitset<32> d(156);//156是十进制,输出后转换为二进制 10011100,然后在前面补0,够32位 string str("1010000011100000000001001");bitset<32> e(str);bitset<32> f(str,5,4);//表示从str的前面开始数,数到5个,第五个后的四位作为f32位的最后4位,前面补0 bitset<32> g(str,str.size() - 4);//表示用str的最后4位作为g的最后四位 cout << a << endl;cout << b << endl;cout << c << endl; cout << d << endl;cout << e << endl; cout << f << endl; cout << g << endl; return 0;}
2,bitset对象的操作
#include<iostream>#include<bitset>#include<string>using namespace std;int main(){bitset<32> b(156);bool is_set = b.any();//b中是否存在置为1的二进制位?bool is_not_set = b.none();//b中不存在置为1的二进制位?bool is_one = b.test(3);//第3位是否为1 if(is_set){cout << "b中至少有1个1" << endl; }if(is_not_set){cout << "b中没有1" << endl;}if(is_one){cout << "第3位为1" << endl; } size_t b_num = b.count();//b中置为1的二进制位的个数cout << "b中1的个数" << b_num << endl; cout << "b中0的个数" << b.size() - b_num << endl; //b.size()表示b中二进制数的个数 b[0] = 1;//从后面数第一位是0,后面依次1,2,3...... cout << b << endl; b.set(15);//第15位置1 cout << b << endl;b.set();//全部置1b.reset(15);// 第15位置0b.reset();//全部置0 b.flip();//全部取反b.flip(13);//第13位取反 return 0;}
3,bitset的逻辑运算
#include<iostream>#include<bitset>using namespace std;int main(){bitset<8> b(0xff);bitset<8> a(0xaf);cout << a << endl;cout << b << endl;cout << (a&b) << endl; //位与 cout << (a|b) << endl; //位或 cout << (a^b) << endl; //位异或 return 0;}
阅读全文
0 0
- 标准库bitset类型
- 标准库bitset类型
- 标准库bitset类型
- 标准库bitset类型
- 标准库类型bitset类型
- bitset类型, 标准库类型
- 标准库bitset类型介绍
- C++标准库bitset类型
- 3.5 标准库bitset类型
- C++ 标准库bitset类型
- C++ 标准库 bitset类型
- c++primer学习笔记(3.5)标准库bitset类型
- C++:标准库类型(string、vector、list、bitset)
- 标准库类型:string vector bitset
- C++语法基础--标准库类型--bitset
- C++标准库bitset类型(简单使用方法)
- 标准库类型--string,vector,bitset
- 【C++ Primer】标准库bitset类型
- 手风琴效果
- 回顾与展望
- POJ 3348 求凸包面积
- 备考pat
- angular.js 购物车
- C++ 标准库 bitset类型
- Sublime Text 3改变插件包安装位置
- dubbo入门
- SQL SERVER 2008用Select操作处理数据(四)——Where条件
- 2018科大讯飞校招---足球队
- pat1008
- Spring知识整理(学习资料)
- MyBatis的flushCache和useCache的使用
- 2018科大讯飞校招---争吵