温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

c++中bitset的作用是什么

发布时间:2021-08-23 20:11:18 来源:亿速云 阅读:242 作者:chen 栏目:开发技术

这篇文章主要讲解了“c++中bitset的作用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c++中bitset的作用是什么”吧!

bitset

使用bitset需要添加头文件bitset ,bitset是一种特殊的容器 ,bitset数组中 ,每个成员只装1bit位的数据 , 即只能是0 或 1。

bitset 的基本用法 :

初始化bitset容器

bitset<‘size'> 容器名;未初始化容器数据,会默认每位都是0

也可以给一个具体的初始化:存入int数据

bitset<‘size'> 容器名(‘num');

会将num以二进制形式储存在bitset中,如果初始化的容器位数不够 ,会截取num二进制形式下的左边部分,如果bitset容器过大,会把多于的位用0填充;

也可以初始化装入只含0和1的字符串:

biset<‘size'> 容器名('str‘);注 若str中含除0 1 外的字符会报错

容器会将str原样储存在每一位中,若容器过小会优先储存str的左边部分,过大则用0补足

代码示例:

	bitset<10> a;//每个成员只能装0 或1 ,默认为0
    for(int i = 0 ; i < 10 ; i++) cout<<a[0];//可以以数组形式索引bitset容器
    cout<<endl;
    bitset<5> a1(12);//把10以二进制形式存入,容器多余的位用0补齐
    cout<<a1<<endl;//01100
    for(int i = 0 ; i < 5 ; i++) cout<<a1[i];//00110 注 bitset容器以数组形式索引时是从右往左索引
    cout<<endl;
    bitset<5> a2("0100");
    cout<<a2<<endl;//00100

c++中bitset的作用是什么

也可以使用二维形式的bitset容器(感觉像是二维)

bitset<‘size'> 容器名[n];

n表示初始化n个size字节的bitset容器

bitset<5> b[4];
    for(int i = 0 ; i < 4 ; i++)
    {
        b[i] = i;
        cout<<b[i]<<endl;
    }

c++中bitset的作用是什么

可以向b[i]中存入数据,也可以索引某个位

cout<<b[1][0]<<endl;

输出结果1;

betsit用于数据压缩

bitset<1000> a;//可以用于表示1000以下的正整数,若a[i] = 1 , 则表示存储的有i这个数,这样一个容器就可以压缩存储很多不同的数据
a = a<<i;//这样操作就可以给a中压缩存储的数据都加上i,可大幅降低时间复杂度
a = a>>i;//同理也可以都减去i , 之后索引哪些位是1就可以知道计算后的结果

感谢各位的阅读,以上就是“c++中bitset的作用是什么”的内容了,经过本文的学习后,相信大家对c++中bitset的作用是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI