abc 243 D、bitset使用

bitset总结+测试

bitset总是在给定的位数中进行操作的,pos顺序指的是从右到左。

若有1的值在范围内操作后便看不到了。

//创建
bitset<7>b1;
bitset<7>b2;
//几个运算
b1|=b2;
b1^=b2;
b1&=b2;
b1=~b1;
b1<<=4;
//几个设置
b1.set(pos,num);//或者直接pos,相当于设置成1
b1.reset(); //全部设置为0
b1.reset(pos);//某位设置为0
//返回
b1[pos];
//转化
b1.to_ulong;
b1.to_string;
//计算
b1.count();
//判断
b1.any(); //有就返回
b1.none(); //是否全部为0

一种使用ABC243 D题

十进制、二进制转换

ll x;
string s = bitset<99>(x).to_string;
//接着直接对s进行操作(如果要添项或者减项)用到 pop之类
//输出s
stoll(t,0,2);
//或
stol(t,0,2);
long int stol (const string& str, size_t* idx = 0, int base = 10)

和sto还有一大堆有关的转化函数

这里再拓展和string的类型转化

string s=to_string();

本文作者:TimMCBen

本文链接:https://www.cnblogs.com/TimMCBen/p/16004910.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   TimMCBen  阅读(44)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.