动态位设置打印?

发布于 2024-07-16 19:14:05 字数 324 浏览 6 评论 0原文

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。

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

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];
}

It prints from the LSB to MSB. Output: 01011.

What should I do to so that bitset is printed correctly. I can reverse the character buffer which I am aware of :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最单纯的乌龟 2024-07-23 19:14:05
<unsigned car>

应该是:

<unsigned char>

什么是缓冲区? 你不应该使用charBuff吗?

使用 dynamic_bitsetoperator<< 重载来实现您想要的。 这是一个简化的解决方案:

#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;
}
<unsigned car>

Should be:

<unsigned char>

What is buffer? Shouldn't you use charBuff?

Use the operator<< overload for dynamic_bitsets to achieve what you want. Here's a simplified solution:

#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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文