大家好,欢迎来到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