我正在将一个非常大的数据写入文件,它是霍夫曼编码的结果,我需要将其保存到文件中并稍后读取。我遇到了使用 dynamic_bitset 处理位的想法。我已经在小数据上测试了我的代码,它工作正常,但在更大的数据(编码图像)上它失败并崩溃。这就是我试图保存的变量的样子:
_encodedSig {m_bits={ size=46944 } m_num_bits=1502195 } boost::dynamic_bitset<unsigned long,std::allocator<unsigned long> > &
但是,当我使用函数 size() 时,它返回 16,这让我很困惑。我尝试测试将其转换为 unsigned long 但它引发异常。我想知道动态 bit_set 可以处理多少数据以及为什么 m_num_bits 不等于 size()。我会欣赏任何想法和想法。