您的位置:首页 > 编程语言 > C语言/C++

c++primer bitset 学习笔记

2013-11-02 11:54 302 查看
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] 是第一位数。很奇怪,为啥要这样显示呢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: