现在的位置: 首页 > 综合 > 正文

c++primer bitset 学习笔记

2014年09月28日 ⁄ 综合 ⁄ 共 418字 ⁄ 字号 评论关闭
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] 是第一位数。很奇怪,为啥要这样显示呢。

抱歉!评论已关闭.