使用std :: bitset生成二进制文件

时间:2014-09-30 01:47:36

标签: c++ cout bitset

我正在使用std::bitset给我一个数字的二进制表示。我现在想要使用它并仅使用二进制表示输出到std::cout - 我想要std::bitset的ASCII表示 - 我只想输出我的bitset,因为它在记忆中。

bitset<32> bits = a;
cout << bits; //produces the ASCII characters for '1' and '0' depending on a

1 个答案:

答案 0 :(得分:0)

如果您的bitset在函数to_ulongto_ullong的限制范围内,您可以使用这些函数并直接将它们输出到二进制文件。

如果您的bitset超过unsigned longunsigned long long可以存储的数量,该函数将抛出溢出异常。这意味着您需要提取位集的子集,并为每个子集存储unsigned longunsigned long long到文件。

不幸的是std::bitset没有提供直接的子集功能,所以你必须自己编写。