std::bitset

参考博客:(101条消息) bitset的基本用法_逐日的少年的博客-CSDN博客_bitset

bitset的用法源于刷题的时候刷到的int转换成二进制

1.定义:
bitset< n > s;
表示一个n位的二进制数,<>中填写位数;

2.位运算操作符:
~s: 返回对s每一位取反后的结果;
&,|,^:返回对两个位数相同的bitset执行按位与、或、异或运算的结果;
<<, >>:返回把一个bitset左移,右移若干位的结果.(补零);

==,!=:比较两个位数相同的bitset代表的二进制数是否相等;

3.[ ]操作符:
s[k] :表示s的第k位,即可取值也可赋值,编号从0开始;

4.count:
s.count() 返回二进制串中有多少个1;

5.any/none
若s所有位都为0,则s.any()返回false,s.none()返回true;
若s至少有一位为1,则s.any()返回true,s.none()返回false;

6.set/rest/flip
s.set()把s所有位变为1;
s.set(k,v)把s的第k位改为v,即s[k]=v;
s.reset()把s的所有位变为0.
s.reset(k)把s的第k位改为0,即s[k]=0;
s.flip()把s所有位取反.即s=~s;
s.flip(k)把s的第k位取反,即s[k]^=1;
————————————————
版权声明:本文为CSDN博主「逐日的少年」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44872284/article/details/116741628

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值