我想在 MATLAB 中尽可能高效地将整数向量(uint8)存储为(空间)。到目前为止,我正在使用arithenco对向量进行编码:
bits = arithenco(z, counts);
好消息是它返回一个位向量。坏事是这些位以双精度形式存储。这意味着返回的向量大约是原始 uint8 向量的 64 倍,而整个想法是使事物更小。
那么是否有一种简单(且运行时高效)的方法来编码这些伪位,以便我真正获得空间改进?
我想出的唯一解决方案是使用bitset将所有这些位再次存储在 uint32 的向量中,但这似乎很麻烦而且速度不是很快,因为我必须遍历整个位向量明确地。
注意:我不能为此使用 Java API,否则这会相对容易。