Forth http://fforum.winglion.ru/ |
|
Форт с плавающей запятой http://fforum.winglion.ru/viewtopic.php?f=35&t=2640 |
Страница 2 из 2 |
Автор: | Ethereal [ Вс фев 27, 2011 05:22 ] |
Заголовок сообщения: | Re: Форт с плавающей запятой |
Просто красивый прием программирования. Речь шла не зачем, а можно ли ... Про округление. Требуемая точность обеспечивается здесь не правилом округления. По сути я записываю число с плавающей запятой в двоичном виде и оставляю только 16 двоичных цифр после запятой. Потом умножаю на 2^16 и получается целое. В целых числах и считаю. Но не обязательно-же 16. Можно больше, если точность нужна больше. Чем такая кухня отличается от float ? Во float кроме мантиссы мы имеем ещё и порядок. И из-за введения этого порядка быстродействие рассчетов падает катастрофически. Но порядок - вещь гнилая. Все равно если числа различаются двоичным порядком больше, чем длина мантиссы в битах, вы их и сложить-то уже не сможете. Большее проглотит меньшее. Порядок у чисел в рассчетах все равно должен быть сопоставимым, так-что он малополезен. Поэтому лучше прикинуть сколько бит хватит слева от запятой и сколько справа и считать все в целых. |
Автор: | Hishnik [ Вс фев 27, 2011 14:22 ] |
Заголовок сообщения: | Re: Форт с плавающей запятой |
Ethereal писал(а): Чем такая кухня отличается от float ? Во float кроме мантиссы мы имеем ещё и порядок. И из-за введения этого порядка быстродействие рассчетов падает катастрофически. Интересно, о какой эпохе микроэлектроники идет речь? ![]() Ethereal писал(а): Все равно если числа различаются двоичным порядком больше, чем длина мантиссы в битах, вы их и сложить-то уже не сможете. Большее проглотит меньшее. Порядок у чисел в рассчетах все равно должен быть сопоставимым, так-что он малополезен. Ровно то же справедливо для целочисленного представления, или же представления с фиксированной точкой, чем и является подход, когда мы 16 разрядов виртуально отделяем точкой. Правда, double precision имеет 53 бита мантиссы, так что боьшее проглотит меньшее очень и очень нескоро. Явно позже, чем потеряется точность в 32-битной "мантиссе" целочисленного представления. |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |