Здравствуйте, Ilya81, Вы писали:
I>У intel своё интересное — в командах копирования регистров сперва куда, затем — откуда. Если где речь о порядке адресатов или о чём-то похожем когда заходит, я обычно их называю: способ PDP-11 и способ IBM PC.
А потом внезапно оказывается, что это всего лишь официально принятый вид символической записи.
Хотя в PDP-11 порядок операндов банально определялся тем, что ряд режимов адресации был реализован через PC, и обрабатывать сперва приемник, а потом источник, было бы нелогично. В процессорах Intel зависимости методов адресации от IP нет, поэтому и никакой сакральной связи между символической записью и кодом команды тоже нет.
Здравствуйте, Pavel Dvorkin, Вы писали:
ЕМ>>В каком смысле "аппаратным"?
PD>Я имею в виду, что в памяти сначала старший, а потом младший байт.
Оно во всех BE-системах так. Это ж определяется исключительно распределением линий данных между процессором и магистралью, если возможна словная адресация, я не только байтовая.
PD>что более естественно. Сначала десятки, потом единицы
Здравствуйте, Евгений Музыченко, Вы писали:
PD>>что более естественно. Сначала десятки, потом единицы
ЕМ>Такой порядок естественен только для человека.
Ну вообще-то в классике ЭВМ — IBM/360 как раз BE. Байты там есть.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Разработчикам тех странных архитектур нужно было знатно укуриться, чтоб применять big endian только для того, чтоб получить сомнительный выигрыш от чуть более ускоренного сравнения.
Ты где-то прочитал такое оправдание? Враньё. Просто на бумаге записываются сначала старшие разряды, а потом младшие. Поэтому разработчикам показалось естественным именно так располагать байты в памяти. А когда выяснилось, что это неудобно, было уже поздно — big-endian вошёл в стандарты.
Здравствуйте, alpha21264, Вы писали:
A>Там с древних времён используется формат GDS-2, в котором принят порядок байтов как на VAX-е PDP-11. A>А там вообще всё оригинально — не big endian и не little endian, как-то через раз.
Порядок байт в PDP-11 little-endian. Не понимаю откуда пошёл этот идиотский предрассудок. Наверное из-за того, что когда в старших моделях к ней прикрутили процессор плавающей точки — а float занимает два 16-разрядных слова, — то криворукие инженеры почему-то расположили старшее слово первым (по меньшему адресу), а младшее по следующему. Хотя в каждом слове порядок байт LE.
A>И хрен это изменишь — заводское оборудование стоит миллиарды долларов.
Какое оборудование? Какое оно имеет отношение к порядку байт?
Здравствуйте, Pavel Dvorkin, Вы писали:
. >>в чем могло быть преимущество BE?
PD>Да не о преимуществе речь идет, а о том, что более естественно. Сначала десятки, потом единицы
Это только для европейцев. И вообще спорно, что это оптимальная запись. Мы пишем слева направо. Но при этом цифры всегда выравниваются по правому краю, складываем, умножаем, делим их справа налево. Понятно, что все так привыкли, но если бы цифры писали в обратном порядке, это было бы как раз более естественно для языка, записываемого справа налево. И Little-Endian тоже казался бы естественным.
Мне лень проверять, но у меня есть большое подозрение, что европейская запись чисел пришла из арабского языка, как раз таки записываемого справа налево, но почему-то не была адаптирована.
Здравствуйте, Pzz, Вы писали:
S>>Что еще?
Pzz>Сетевой порядок байт — big endian
В BLE (Bluetooth Low Energy) принят как раз little endian порядок. Так что про "сетевой" можно поспорить, что сейчас считать сетевым порядком. Я в своих протоколах тоже использую little endian, где могу на это влиять, чтобы было быстрей парсить/сохранять и вроде всё удобно и нормально.
Здравствуйте, vsb, Вы писали:
Pzz>>Сетевой порядок байт — big endian
vsb>В BLE (Bluetooth Low Energy) принят как раз little endian порядок. Так что про "сетевой" можно поспорить, что сейчас считать сетевым порядком. Я в своих протоколах тоже использую little endian, где могу на это влиять, чтобы было быстрей парсить/сохранять и вроде всё удобно и нормально.
"Сетевой порядок байт" — это устоявшееся выражение. Вероятно, идет еще с тех времен, когда общеизвестные сети более-менее сводились к TCP/IP.
Здравствуйте, 777777w, Вы писали:
7>Ты где-то прочитал такое оправдание? Враньё.
А Вы свое где взяли?
7>Просто на бумаге записываются сначала старшие разряды, а потом младшие. Поэтому разработчикам показалось естественным именно так располагать байты в памяти. А когда выяснилось, что это неудобно, было уже поздно — big-endian вошёл в стандарты.
Фишка в том, что байтовая адресация памяти появилась далеко не сразу — где-то в середине 50-х. До этого адресовались только многоразрядные слова.
Здравствуйте, vsb, Вы писали:
vsb>Это только для европейцев. И вообще спорно, что это оптимальная запись. Мы пишем слева направо. Но при этом цифры всегда выравниваются по правому краю, складываем, умножаем, делим их справа налево. Понятно, что все так привыкли, но если бы цифры писали в обратном порядке, это было бы как раз более естественно для языка, записываемого справа налево. И Little-Endian тоже казался бы естественным.
vsb>Мне лень проверять, но у меня есть большое подозрение, что европейская запись чисел пришла из арабского языка, как раз таки записываемого справа налево, но почему-то не была адаптирована.
Ну вообще-то писать слева направо или справа налево — это просто дело выбора, эти методы логически одинаковы.
В иврите и арабском пишут справа налево, но числа все же слева направо сейчас, что , видимо, доставило некоторое количество головной боли авторам текстовых редакторов.
Исторически в финикийском писали справа налево, это было заимствовано в иврите и арамейском. А вот греки, взяв за основу своего алфавита финикийский, начали писать слева направо. Потом латынь, а потом и кириллица.
Более того, где-то я читал (пруф не проси), что в самых ранних версиях финикийского писали вообще в двух направлениях. Одна строка слева направо, а следующая справа налево, потом опять слева направо. Эргономично — зачем руку переносить ?
Почему мы пишем числа слева направо — вроде как потому, что арабские цифры в действительности пришли из Индии, а там слева направо.
Здравствуйте, VsevolodC, Вы писали:
VC>математические координаты: игрек растет снизу вверх VC>экранные координаты: игрек растет сверху вниз
А тут объяснение простое. Математикам все равно было, а вот тексты пишут чаще слева направо, в некоторых языках справа налево, а вот снизу вверх никто не пишет.
Поэтому естественно, что 5-я строка лежит ниже 4-й.
Здравствуйте, vsb, Вы писали:
PD>>Да не о преимуществе речь идет, а о том, что более естественно. Сначала десятки, потом единицы
vsb>Это только для европейцев.
Вовсе нет. Десятичную систему придумали в Индии, после чего она попала к арабам. Так вот они хоть и пишут справа налево, но порядок цифр оставили индийский. И когда европейцы взяли у них эту систему, тоже оставили порядок прежним.
Здравствуйте, Shmj, Вы писали:
S>Что вы можете вспомнить, что перепутали, но решили так и оставить.
Шкала температур Цельсия изначально была перевернута. Вода закипала при 0 C, и замерзала при 100 C.
Но решили не оставлять, когда самого Цельсия уже не стало, со словами "Это безумие пора прекратить" перевернули.
Предположительно, чтобы в 18 веке не пугать необразованное население отрицательными числами, Цельсий принял перевернутый вариант.
Здравствуйте, vsb, Вы писали: vsb>Это только для европейцев. И вообще спорно, что это оптимальная запись. Мы пишем слева направо. vsb>Понятно, что все так привыкли, но если бы цифры писали в обратном порядке, это было бы как раз более естественно для языка, записываемого справа налево.
В каком бы направлении не писали и не читали. Но в речи используется не позиционная система счисления, и всегда будут начинать с главного(старшего слагаемого), потом уточнять детали.
При чтении цифр в позиционной системе уже немного другое. Сначала подсчитывают количество цифр(как счет на палочках), потом старший разряд приобретает значение.
Старший разряд мог бы быть и справа(в конце), если все равно надо сначала просмотреть всю строку цифр. Но лучше порядок как в речи(не создавать путаницу) — сначала главное.
...
Если человеку скажут, что мошенники у него украли: 5 копеек, и 10 копеек, и 3 рубля, и 20, и 400, ..., и 5 тысяч, ..., и 2 миллиона.
Такой порядок был бы лучше, только если бы надо было сохранять интригу. А то если ему сказать про 2 миллиона, то он дальше не будет и слушать про копейки("потерявши голову, по волосам не плачут").
В старых английских текстах изредка попадается обратный порядок: "two and fifty". Но он только для двузначных чисел.
Здравствуйте, Евгений Музыченко, Вы писали:ЕМ>Такой порядок естественен только для человека.
Не, неестественен. Когда мы встречаем в тексте знак, и значение этого знака определяется тем, что идёт потом — категорически неудобно.
Юмор в том, что авторы современной нам записи чисел — арабы — писали всё справа налево. И, конечно же, они выбрали наиболее естественный для человека способ, когда сначала идут единицы, потом — десятки, потом — сотни, и т.п.
Европейские же ученые скопировали числа целиком, не особо разбираясь в тонкостях RTL. В итоге в текстах на всех европейских языках теперь есть фрагменты арабской RTL-записи — числа.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Более того, где-то я читал (пруф не проси), что в самых ранних версиях финикийского писали вообще в двух направлениях. Одна строка слева направо, а следующая справа налево, потом опять слева направо. Эргономично — зачем руку переносить ?
Это и у греков было. Такая запись называлась бустрофедоном.
Вообще, в ранней письменности никто не задурялся фиксацией направления письма. Писали как удобно — хоть слева направо, хоть справа налево, хоть вперемешку. Всё равно грамотность была уделом очень немногих.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Не, неестественен. Когда мы встречаем в тексте знак, и значение этого знака определяется тем, что идёт потом — категорически неудобно.
Ну вот мы пишем прилагательное перед существительным — это вызывает какие-то проблемы?
S>Юмор в том, что авторы современной нам записи чисел — арабы — писали всё справа налево. И, конечно же, они выбрали наиболее естественный для человека способ, когда сначала идут единицы, потом — десятки, потом — сотни, и т.п.
Вообще-то десятичную систему придумали в Индии. А там писали слева направо. И числа стали писать от самых крупных значений — тысяч, сотен — к боблее мелким, постепенно уточняя значение. Арабы позаимствовали её у индусов, но не стали менять порядок хотя для них это уже менее естественно.
Здравствуйте, Sinclair, Вы писали:
S>Не, неестественен. Когда мы встречаем в тексте знак, и значение этого знака определяется тем, что идёт потом — категорически неудобно.
А сколько Вы знаете языков, в которых значение слова не определяется словами, идущими следом? Получается, что большинство языков (если не вообще все) "неестественно" и неудобно? Как могло так получиться?
S>авторы современной нам записи чисел — арабы — писали всё справа налево
Если это всё, что Вам известно об истории позиционной записи, то подобный ход мыслей неудивителен.
Здравствуйте, 777777w, Вы писали:
7>Вообще-то десятичную систему придумали в Индии. А там писали слева направо. И числа стали писать от самых крупных значений — тысяч, сотен — к боблее мелким, постепенно уточняя значение.
А еще раньше такой подход придумали в Вавилоне. И римская запись организована по тому же принципу, хоть и не позиционная.