参考博客:(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

1万+

被折叠的 条评论
为什么被折叠?



