Если вы храните свой номер как пару числитель / знаменатель, тогда да, вы можете сделать его без потерь.
Под этим я подразумеваю число 10
, разделенное на 3
, которое хранится не как 3.3333333
, а как пара {10,3}
. Это означает, что при повторном умножении на 3
оно станет 10
.
Конечно, это может не сработать во всех крайних случаях. Вы по-прежнему не сможете представлять иррациональные числа, такие как PI
или квадратный корень из 2, поскольку они не могут быть представлены ни в виде конечной десятичной последовательности, ни в виде отношения.
Но, только для деления (используя рациональные числа), я не могу представить себе крайний случай, когда это не сработает.