Путать с порядком байтов: биты или байты? - PullRequest
4 голосов
/ 14 января 2012

Я извлек это из учебника:

Орден Little-Endian - это тот, который мы будем использовать в этом документе, и, если не указано иное, вы должны предполагать, что порядок Little-Endian используется в любом файле. Альтернатива - это порядок Big-Endian. Итак, давайте посмотрим на пример. Возьмите следующий поток или 8 битов 10001110 Если вы следили за документом до сих пор, вы бы быстро вычислили значение этого 8-битного числа как 1x2 ^ 7 + 0x2 ^ 6 +… + 1x2 ^ 1 + 0x2 ^ 0 = 142 Это пример порядка Little-Endian. Тем не менее, в порядке старших порядков нам нужно прочитать число в обратном направлении 1x2 ^ 0 + 0x2 ^ 1 +… + 1x2 ^ 6 + 0x2 ^ 7 = 113

Это правильно?

Раньше я думал, что порядок байтов связан с порядком чтения байтов (а не битов).

Ответы [ 3 ]

5 голосов
/ 14 января 2012

Да, в контексте памяти / хранения, порядковый номер действительно относится к байту упорядочению (обычно).Что бы значило сказать, что, например, наименее значимый бит «приходит первым»?

Порядковый бит важен в некоторых ситуациях, например, при отправке данных по последовательной шине.

1 голос
/ 14 января 2012

Не имеет смысла переупорядочивать биты, и это было бы довольно запутанно при загрузке.Процессоры не читают биты simgle, они читают байты или комбинации байтов одновременно, так что это порядок, который важен.

Когда они хранят число, состоящее из нескольких байтов, они могут либо сохранить его слева направо, сделав старший байт младшим в памяти, либо справа налево, а младший байт младшим впамять.

1 голос
/ 14 января 2012

Вы правы - эта цитата у вас есть мусор, ИМХО.

...