• Авторизация


Компьютеры и дроби 20-12-2010 18:53 к комментариям - к полной версии - понравилось!


Настроение сейчас - напряженное

 Все мы знаем, как неудобно хранить дробные переменные. Компьютер переводит их в отвратительные двоичные дроби, и получить точные значения где-либо невозможно. 0.1 + 0.1 != 0.2...

Есть у меня некоторые идеи по этому поводу. А что, если хранить дроби в памяти компьютера так же, как мы храним их, когда считаем что-то на бумажке? Числитель отдельно, знаменатель отдельно... То есть создать структуру ratio (дробь), содержащую два поля-переменных: numerator (числитель) и denominator (знаменатель). Определить все операторы. Важное замечание: после каждой операции, изменяющей нашу дробную переменную, дробь полезно сокращать. 

Теперь я могу спокойно идти писать программу, считающую определитель матрицы (приводя ее к диагональному виду), не боясь, что из-за дробей у меня получится неточное значение определителя...


вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Компьютеры и дроби | ноль_в_знаменателе - ноль_в_знаменателе. Обрывки мыслей. | Лента друзей ноль_в_знаменателе / Полная версия Добавить в друзья Страницы: раньше»