[STL]bitset使用

使用bitset可以方便地进行位操作,并可转为string型和无符号整型。

#include <bitset>
int main()
{
    //构造函数
    bitset<16> a(3);//整数转二进制
    bitset<5> b("101010");

    //输出流与随机存取
    cout<<b<<" "<<b[1]<<endl;

    //置位
    a.set();//全部置位
    b.set(0);//置第一位
    cout<<a<<" "<<b<<endl;

    //复位
    a.reset();//全部复位
    b.reset(0);//复位第一位
    cout<<a<<" "<<b<<endl;

    //取反
    a.flip();//全部取反
    b.flip(0);//取反第一位
    cout<<a<<" "<<b<<endl;

    //检查是否为1
    cout<<b.test(0)<<endl;

    //数1的位数
    cout<<b.count()<<endl;
    
    //输出总长度
    cout<<b.size()<<endl;

    //是否存在1的位
    cout<<b.any()<<endl;

    //转为字符串
    cout<<b.to_string()<<endl;

    //转为无符号整数
    cout<<b.to_ulong()<<endl;
    return 0;
}

 

posted @ 2013-06-18 14:59  iyjhabc  阅读(209)  评论(0编辑  收藏  举报