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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步