Я знаю, что это немного гипотетически, но мне интересно, почему язык, который я знаю, не делает.
Например, вы хотите сохранить 1/3. Дайте программисту возможность указать его как 1/3 и сохранить 1 и 3. Что-то вроде
struct float {
int numerator;
int denominator;
};
Арифметика рационального числа становится очень простой и значительно более точной!
Это позволит решить так много проблем, связанных с ограничениями точности и хранения чисел с плавающей запятой, и я также не вижу в нем никаких новых проблем!
Следовательно, мой вопрос: Почему не рациональные числа не реализованы и не хранятся как фракции с нулевой потерей информации?
Как сказал Джо, и другие могут также указать, я не имею в виду это, чтобы заменить существующую систему, но дополнять ее.
В: Как вы храните pi
?
A: Много раз я просто сохраняю 1/3
, а не pi
. pi
можно сохранить старым способом и 1/3
по-новому.