Если вам нужна точность и широкий диапазон, вам понадобится программная реализация с плавающей запятой двойной точности, например SoftFloat .
(Кроме того, базоваяпринцип состоит в том, чтобы разбить представление (например, 64 бита) каждого значения на три составляющие его части - знак, экспонента и мантисса, а затем сдвинуть мантиссу одной части на основе разницы в показателях степени, добавить или вычесть из мантиссыдругая часть, основанная на знаковых битах, и, возможно, перенормирует результат, сдвигая мантиссу и соответственно корректируя показатель степени. По пути есть много мелких деталей, которые необходимо учитывать, чтобы избежать ненужной потери точности, и иметь дело сспециальные значения, такие как бесконечности, NaN и денормализованные числа.)