永发信息网

c++ bitset 怎么输出指定区间的位数

答案:2  悬赏:10  手机版
解决时间 2021-01-30 14:59
是否可以定义一个bitset ,初始化使用另一个bitset的某些位,也就是说bs1 = (bs2,pos,bits)等类似的形式?

谢谢。

bitset<3> bs(6);
bitset<2> bs2;
cout<< bs2 <
bs2 = (bs,0,1);

cout<< bs2 < cout<< bs <我用以上的语句没有报错,确实改变了。但是结果不是自己想的。
最佳答案
bitset本身没有这样的构造方法和赋值操作,如果经常要这样操作,可以自己定义一个函数:
template  
bitset& cpbitset(bitset& des, const bitset& src,int pos,int bits)

 if ((void*)&des==(void*)&src||pos>=des.size()||pos>=src.size())
  return des;
 if (pos+bits>=src.size())  bits=src.size()-pos; 
 if (pos+bits>=des.size()) bits=des.size()-pos; 
 for (int i=pos;i    des[i]=src[i]; 
 return des;

使用:
bitset<15> b1(2047);
bitset<20> b2;
cpbitset(b2,b1,3,5);  //复制从下标3(第4位)开始的5位 (3,4,5,6,7)
 
 
bs2 = (bs,0,1);  //这个就是bs2=1; 右边的bs,0,1只是个逗号表达式而已
全部回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高荷小学地址在哪,我要去那里办事
全生的意思是什么啊?知道的请说下!
#include<stdio.h> void main() { float a; a
坦塘小学地址在哪,我要去那里办事
食物在烹饪过程中的营养素损失是可以完全避免
史丹利复合肥适合苗木吗
缬是什么意思
能够随空气的湿度而改变颜色的化学试剂是什么
条分节解的意思是什么啊?知道的请说下!
2012 年7 月27 日19 点12 分(零时区区时)第
平定镇旺竹小学地址好找么,我有些事要过去
怎样激活windows7简易版
文充小学地址在哪,我要去那里办事
甄访的意思是什么啊?知道的请说下!
计算电动机的工作效率
推荐资讯
化州市笪桥镇莞塘小学地址在什么地方,我要处
关于给水排水构筑物防渗漏施工措施,下列说法
我做的韩式眉毛,补了第二边色,怎么还是不均匀
288咖啡美食地址在什么地方,我要处理点事
柳莺鸟吃什么
顶北墙什么意思
your efforts will put a lot of weight on y
塘瑶村地址好找么,我有些事要过去
下列关于基金销售费用的说法中,错误的是()。
天津哪个客运站有去西安的大巴 票价多少 几点
dota圣殿的专注光环对守卫有效果吗?比如剧毒
A公司的普通股最近一个月来交易价格变动很小
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?