Привет. Я читал что из-за сложностей преобразования из десятичной системы в двоичную возникают погрешности и другие странности, вроде отрицательного нуля или х*2=inf, а так-же, что размер числа ограничен размером машинного слова.
И может быть это всё нормально, но мне это кажется странным.
Я не вижу преград для разбиения числа на части и хранения его в нескольких словах, чтобы потом считать в несколько заходов. Таким образом, размер числа будет ограничен только размером виртуальной памяти.
А раз так, то float можно хранить как число с фиксированной точкой (правда, я читал что так погрешность даже выше, но наверное это опечатка), причём положение точки будет храниться отдельно и для операции над двумя числами они будут преобразовываться в дроби с одинаковой длиной дробной части.
Я понимаю, это ресурсозатратно, но ведь это же необходимая жертва?