3

位流中的位是否有首选顺序(其中位流有点类似于 Java 的 Input/OutputStream,但提供位级粒度)?

我读过 DEFLATE 算法的霍夫曼阶段的输出考虑到一个字节的最低有效位 (lsb) “在”最高有效位 (msb) 之前,用于编码非字节-对齐的值。是否有理由选择 lsb-to-msb 排序而不是 msb-to-lsb 排序?例如,这是否允许稍微更简单/更快的解码(或编码)代码?

我假设 Java 中的“InputBitStream”类会提供一些基本操作:

class InputBitStream {
    // Optimized for reading a SINGLE bit.
    public int readSingleBit() {...}

    // Optimized for reading large segments of bits,
    // not just readSingleBit() -> put in result -> repeat,
    // but if possible, shifting in a byte at a time.
    public int readMultipleBits(int count) {...}
}

DEFLATE 位包装: http ://www.gzip.org/zlib/rfc-deflate.html#packing

4

1 回答 1

1

不,没有标准顺序。它因所讨论的接口而异。

于 2011-01-23T19:38:39.320 回答