首页 > 其他 > 详细

bitset用法

时间:2021-04-27 20:01:49      阅读:20      评论:0      收藏:0      [点我收藏+]

bitset是c++的一个类库,其元素值只能为0或1,可用下标访问其元素或对元素赋值。bitset的每个元素仅占1bit空间。

定义bitset

  使用bitset<> a语句。<>内为bitset的大小(长度),a为定义的bitset名。bitset可以通过构造方法进行初始化。

  无参构造:bitset中所有元素均为0。

  参数为整型构造:bitset中存储该整型参数的二进制串。例如:bitset<8> a(5) 输出a,显示 00000101。特别的,当参数的二进制串超过定义的bitset大小,则bitset会抛弃该参数二进制串的高位进行构造。

  参数为字符串构造:bitset中存储该字符串,但该字符串必须为只包含‘0‘或‘1‘的01串。例如:bitset<8> a("1001")  输出a,显示00001001。特别的,当字符串长度超过定义的bitset大小,bitset会抛弃字符串的低位进行构造(右低左高)。

bitset的函数

  定义: bitset<8> a

  a.size(): 返回大小(长度)

  a.count(): 返回a中1的个数

  a.any(): 返回a中是否有1

  a.none(): 返回a中是否没有1

  a.set(): 将a中所有元素设为1

  a.set(pos): 将a中下标为pos处元素设为1(下标从0开始)

  a.set(pos,x): 将a中下标为pos处元素设为x,x为0或1,当x>1时,将被视为1(非0)

  a.reset(): 将a中所有元素设为0

  a.reset(pos): 将a中下标为pos处元素设为0(下标从0开始)

  a.test(pos): 返回下标为pos处的元素值

  a.flip(): 将全部元素翻转(0变为1,1变为0)

  a.flip(pos):  将下标为pos处的元素翻转(0变为1,1变为0)

  a.to_ulong(): 返回将a转化为unsigned long类型的值

  a.to_ullong(): 返回将a转化为unsigned long long类型的值

  a.to_string(): 返回将a转化为字符串类型的值

bitset运算

  bitset可进行&(与),|(或),^(异或),<<(左移),>>(右移),~(按位取反)等运算。

bitset用法

原文:https://www.cnblogs.com/zhou-xf/p/14710279.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!