Это неплохая идея, можно завести большие регистры и оперировать с ними как с целыми, но за единицу принять допустим 10 в минус 16. И при вводе исходных данных сдвигать на 16 десятичных разрядов вправо, потом работать в больших регистрах с этими данными, как с целыми, и при выводе результата показывать запятую, отсчитав 16 разрядов влево. Ну это правда уже не плавающая запятая, а фиксированная зато гарантированная абсолютная точность до 16 знаков после запятой.