При добавлении двух чисел (на бумаге или в машине) вы начинаете с наименее значащих цифр и переходите к наиболее значимым цифрам.(То же самое относится и ко многим другим операциям).
На Intel 8088, в которой были 16-разрядные регистры, но 8-разрядная шина данных, так как они с прямым порядком байтов позволяли таким инструкциям начинать работу после первого цикла памяти.(Конечно, должно быть возможным, чтобы выборки слова выполнялись в порядке убывания, а не увеличения, но я подозреваю, что это немного усложнило бы конструкцию.)
На большинстве процессоров ширина шины соответствуетширина регистра, так что это больше не дает преимущества.
С другой стороны, числа с прямым порядком байтов можно сравнивать, начиная с MSB (хотя многие инструкции сравнения фактически вычитают, что в любом случае нужно начинать с LSB).Знаковый бит также очень легко получить.
Существуют ли алгоритмы или форматы хранения, которые лучше работают с одним и намного хуже с другим?
Нет.Тут и там есть небольшие преимущества, но ничего особенного.
На самом деле я считаю, что litte-endian более естественен и последовательн: значение бита равно 2 ^ (bit_pos + 8 * byte_pos).Тогда как при значении с прямым порядком байтов значение бита равно 2 ^ (bit_pos + 8 * (word_size - byte_pos - 1)).
Не было бы лучше, если бы мы все переключились на единицу и придерживалисьс этим?
Из-за доминирования x86, мы определенно стремились к порядку байтов.Чипы ARM во многих мобильных устройствах имеют настраиваемый порядок байтов, но часто они устанавливаются на LE, чтобы быть более совместимыми с миром x86.Что меня устраивает.