c++ - dynamic_bit 设置打印?

标签 c++ boost bitsets

std::string charBuff = "11010";
dbitset = boost::dynamic_bitset<unsigned char> (charBuff);
for (boost::dynamic_bitset<>::size_type i = 0; i < dbitset.size(); ++i) {
      std::cout << dbitset[i];
}

它从 LSB 打印到 MSB。输出:01011。

我应该怎么做才能正确打印 bitset。我可以反转我知道的字符缓冲区 :)

最佳答案

<unsigned car>

应该是:

<unsigned char>

什么是 buffer ?你不应该使用charBuff吗? ?

使用 operator<< dynamic_bitset 过载来实现你想要的。这是一个简化的解决方案:

#include <iostream>
#include <string>
#include <boost/dynamic_bitset.hpp>

int main()
{
    std::string charBuff("11010");
    boost::dynamic_bitset<> dbitset(charBuff);

    /* print LSB to MSB, in order */ 
    for (boost::dynamic_bitset<>::size_type i = 0; 
         i < dbitset.size(); ++i) {
        std::cout << dbitset[i];
    }
    std::cout << std::endl;

    /* print bits in the order you want */
    std::cout << dbitset << std::endl; 
    return 0;
}

关于c++ - dynamic_bit 设置打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/712323/

相关文章:

c++ - 如何更改 dynamic_bitset 的值?

c++ - 是否可以将 bitset<8> 转换为整数字符数组?

c - 将 0's and 1' 的字符串转换为字符的简单方法?纯C

c++ 为什么我的日期解析不是线程安全的?

c++ - 如何生成包含可通过脚本轻松修改的数据的 exe

c++ - 我是否可以创建一个对象方法,如果单独调用,该方法会修改自身,但如果在复制初始化期间调用,则返回一个新对象?

c++ - 任意类的 const 和非 const 成员函数的模板包装器

c++ - Boost Beast 握手 : sslv3 alert handshake failure error

c++ - 旧代码不能用新的 CGAL 版本编译(错误 : invalid application of ‘sizeof’ )

c++ - 为 Qt 项目创建标志或使用 QLoggingCategory