Битовый порядок в битовых потоках - PullRequest
3 голосов
/ 23 января 2011

Есть ли предпочтительный порядок для битов в битовом потоке (где битовый поток несколько аналогичен Java / InputStreamStream, но обеспечивает гранулярность на уровне битов)?

Я читал, что выходные данные этапа Хаффмана алгоритма DEFLATE считают, что младший значащий бит (lsb) байта должен идти «перед» старшим значащим битом (msb), для целейкодирования не выровненных байтов значений.Есть ли причина для выбора порядка lsb-to-msb, а не порядка msb-to-lsb?Например, позволяет ли это как-то несколько проще / быстрее декодировать (или кодировать) код?

Я предполагаю, что класс "InputBitStream" в Java обеспечит некоторые основные операции:

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

1 Ответ

1 голос
/ 23 января 2011

Нет, стандартного заказа нет. Это зависит от интерфейса.

...