c++primer bitset 学习笔记

int main()
{ 
	//0开头是 8进制 10机制开头什么都不加 0x16进制
	bitset<10> bs(0xffff);
	cout<<bs<<endl;
	cout<<"第一个数:"<<bs[0]<<endl;
	system("pause");
}

 

 

发信bitset 初始化时,如果是 unsigned  long类型的话,会根据实际数是什么进制,来进行转换。 8进制数 是前面加个 0 ,10进制不用加,16进制是前面加0x。

本来加加二进制的,经查发现没有二进制的表示方法(这点不知是否有误),还好,bitset可以接受 string 类型的,可以算是变相的直接输入2进制了。

 

不管是unsigned long 还是 string 类型的参数,实际上输出的时候都是直接放到最后面,比如 string s="1101", bitset 10位,输出就是 0000001101

输出虽然是这样,但是取得时候是反得, [0] 取的是最后一位,以此类推,[9] 是第一位数。很奇怪,为啥要这样显示呢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值