C++bitset()用法
时间: 2023-10-31 13:06:45 浏览: 87
详解C++ bitset用法
C的bitset是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1 bit空间。bitset类有几种常用的构造函数:
1. 无参构造函数:`bitset()`,创建一个长度为0的bitset对象。
2. 带参构造函数:`bitset(n)`,创建一个长度为n的bitset对象,默认每一位都是0。
3. 带参构造函数:`bitset(str)`,创建一个长度为str的长度的bitset对象,其中str是一个二进制字符串,前面用0补充。
4. 带参构造函数:`bitset(val)`,创建一个长度为val的bitset对象,其中val是一个整数值,二进制保存。
此外,bitset还提供了一些类型转换的函数:
1. `to_string()`,将bitset转换成字符串类型。
2. `to_ulong()`,将bitset转换成unsigned long类型。
3. `to_ullong()`,将bitset转换成unsigned long long类型。
例如,如果使用`bitset<8> foo("10011011")`创建了一个bitset对象foo,可以使用`foo.to_string()`来将其转换成字符串类型,得到"10011011",使用`foo.to_ulong()`将其转换成unsigned long类型,得到155,使用`foo.to_ullong()`将其转换成unsigned long long类型,同样得到155。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [C++ bitset 用法(转载)](https://blog.csdn.net/weixin_44164489/article/details/108010507)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [比特位计数--C++ bitset 用法](https://blog.csdn.net/m0_46208939/article/details/116979628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文