vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2023-06-12 11:33 pm

Стандарту плавающей точки 45 лет

Нынче народ редко задумывается про арифметику с плавающей точкой. А чего там: всё ведь работает, и не вызывает никаких проблем. Между тем первые сорок лет развития компьютеров это была серьёзная головная боль. Запускаешь программу на одной машине - один результат. На другой машине - другой результат. На третьей машине... и так далее.

Ситуация изменилось с момента, когда приняли стандарт IEEE на арифметику с плавающей точкой. Подготовка и обсуждение стандарта начались в 1978 году в университете Беркли группой под руководством профессора Велвела Кахана. Недавно в университете была установлена памятная табличка, посвящённая стандарту IEEE 754.



Вот профессор-эмеритус Кахан на церемонии открытия таблички. Ему на днях исполнилось 90 лет. Ничего так, бойкий американский дедушка.



Инициатором установки таблички был мой коллега по предыдущей работе Джером Кунен. В конце 70-х он был молодым студентом и входил в группу разработки стандарта IEEE 754. Собственно предложение стандарта было сделано от его имени. Вот он рядом с табличкой.



Есть видео с записью церемонии открытия и выступлений профессора Кахана, Джерома и других выдающихся личностей.



Собственно стандарт от 1985 года: ieee754-1985.pdf

Его обновлённая версия от 2008 года: ieee754-2008.pdf
an_3: (Default)

[personal profile] an_3 2023-06-13 09:15 am (UTC)(link)
Круто
juan_gandhi: (Default)

[personal profile] juan_gandhi 2023-06-13 10:19 am (UTC)(link)

Классно. Ведь до того фикспойнт был (сужу по софту для, например, М3М и 9В51.

[personal profile] dijifi 2023-06-13 03:27 pm (UTC)(link)
Помню как мой препод рассказывал что при переходе с М20 на БЭСМ-6 расчёты перестали сходиться потому что некто защитил диссертацию на том, что если поменять алгоритм округления для чисел с плавающей точкой, то никакая программа этого не заметит.
juan_gandhi: (Default)

[personal profile] juan_gandhi 2023-06-13 07:06 pm (UTC)(link)

Как округляли на М20, я уж и не знаю. Но там явно не было лишних бит, как в 8087. Сколько там вообще бит было, 45, наверно. И хардверный квадратный корень (05, кажется, команда).

Округления ох разные бывают.

[personal profile] nz 2023-06-13 12:53 pm (UTC)(link)

всё ведь работает, и не вызывает никаких проблем

Да-да, все работает, а потом в датацентр завозят серверы с FMA3.

ircicq: (Default)

[personal profile] ircicq 2023-06-13 05:32 pm (UTC)(link)
Запускаешь программу на одной машине - один результат. На другой машине - другой результат.

Стандарт и сейчас не гарантирует идентичность результатов (в какую сторону округлять и т.д.)
Он только про представление
Edited 2023-06-13 17:33 (UTC)