【发布时间】:2017-10-06 21:54:08
【问题描述】:
习惯于在 python 中工作并尝试抽象如何访问单个 char 向量项的二进制元素。问题是python非常慢,我正在将它翻译成c++。我有一个二进制文件,我将文件读入std::vector<char> buffer(1024),数据被组织成有 32 个通道,每个通道长 32 个字节(256 位)。一个样本由来自 32 个通道中的每个通道的 1 位组成。因此,一组中有 256 个样本。将每个 32 字节通道的第 n 位组合成样本的最佳读取方法是什么? Python有一个位串模块,在c++中有什么相关的吗?
我不是在问如何将原始二进制数据读入位集向量。我在问如何读取 char 向量的第 n 位。
【问题讨论】:
-
为什么要读入 std::vector
? -
数据是条带化的吗,就像你想把第 0 位、第 32 位、第 64 位等组合起来制作样本一样,那么其余的位也一样?
-
@lorro 我希望能够轻松地将不同的字节连接成一个新的向量,所以看起来使用向量是正确的答案。但我正在尝试深入到比特级别,所以也许有更好的方法。