C++:bitset类的使用

本文通过一个C++示例程序介绍了如何使用bitset类来操作位图,包括位图的初始化、重置、翻转及检测等基本操作。
 1 #include <iostream>
 2 #include <bitset>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     //初始化一个bitmap , 将所有位置位
 9     bitset<16>    bit(0xFFFF);
10 
11     cout << "construct" <<endl;
12     cout << bit.to_string() << endl;
13 
14     //复位,将第12位置为false , 即0
15     bit.reset(12);
16     cout << " reset 12" << endl;
17     cout << bit.to_string() << endl;
18 
19     //复位,将所有位置为false
20     bit.reset();
21     cout << " reset all" << endl;
22     cout << bit.to_string() << endl;
23 
24     //翻转 , 将第2位反转
25     bit.flip(2);
26     cout << " flip 2" << endl;
27     cout << bit.to_string() << endl;
28 
29     //反转,将所有位反转
30     bit.flip();
31     cout << bit.to_string() << endl;
32 
33     cout << bit.to_ulong() <<endl;
34 
35     //检测是否所有位都没被置位
36     cout << (bit.none()?"没有任何位被置位":"存在某位被置位") << endl;
37     //检测是否存在某位被置位
38     cout << (bit.any()?"存在某位被置位":"没有任何位被置位") << endl;
39     //检测某一位是否被置位
40     cout << "第2位" <<(bit.test(2)?"":"") << "置位" << endl;
41 
42     return 0;
43 }

 

转载于:https://www.cnblogs.com/wowk/p/3219752.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值