Это зависит от того, насколько велики ваши значения, и, что более важно, от требуемой точности.
Если все числа имеют одинаковую точность и масштаб, скажем, 10 знаков после запятой и не более миллиона,тогда вы можете просто использовать длинные целые числа (умножить все на 10 10 и т. д.).
Если вам действительно нужны произвольные масштабы и точность, вы не обойдете библиотеку произвольной точности,Быстрый поиск показал mpdecimal , но могут быть и другие.Комбинируя подход с фиксированной точкой с произвольной точностью, вы также можете просто использовать libgmp для целых чисел с произвольной точностью, но обрабатывать их все как единицы 10 10 .