bitset

bitsetbitset是c++的一个类库,其元素值只能为0或1,可用下标访问其元素或对元素赋值。bitset的每个元素仅占1bit空间。定义bitset使用bitset<>a语句。<>内为bitset的大小(长度),a为定义的bitset名。bitset可以通过构造方法进行初始化

大家好,欢迎来到IT知识分享网。

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31474.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信