![image][1]
В начале 90-х создание трёхмерного игрового движка означало, что вы заставите машину выполнять почти не свойственные ей задачи. Персональные компьютеры того времени предназначались для запуска текстовых процессоров и электронных таблиц, а не для 3D-вычислений со частотой 70 кадров в секунду. Серьёзным препятствием стало то, что, несмотря на свою мощь, ЦП не имел аппаратного устройства для вычислений с плавающей запятой. У программистов было только АЛУ, перемалывающее целые числа.
При написании книги [_Game Engine Black Book: Wolfenstein 3D_][2] я хотел наглядно показать, насколько был велики были проблемы при работе без плавающей запятой. Мои попытки разобраться в числах с плавающей запятой при помощи [каноничных][3] [статей][4] мозг воспринимал в штыки. Я начал искать другой способ. Что-нибудь, далёкое от ![$(-1)^S * 1.M * 2^{(E-127)}$][5] и их загадочных экспонент с мантиссами. Может быть, в виде рисунка, потому что их мой мозг воспринимает проще.
В результате я написал эту статью и решил добавить её в книгу. Не буду утверждать, что это моё изобретение, но пока мне не приходилось видеть такого объяснения чисел с плавающей запятой. Надеюсь, статья поможет тем, у кого, как и меня, аллергия на математические обозначения.
[Читать дальше →][6]
[1]:
https://habrastorage.org/getpro/habr/post_images/277/c3b/3c5/277c3b3c59830784ca7216063cf60f52.jpg
[2]:
https://play.google.com/store/books/details/Fabien_Sanglard_Game_Engine_Black_Book?id=Lq4yDwAAQBAJ
[3]:
https://en.wikipedia.org/wiki/Floating-point_arithmetic
[4]:
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
[5]:
https://habrastorage.org/getpro/habr/formulas/185/bba/e8c/185bbae8c3b7f000517f7294785b185d.svg
[6]:
https://habrahabr.ru/post/337260/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut