64-разрядное целое число без знака (что типичная машина использует для unsigned long long
) имеет максимальное значение 18446744073709551615 (1.8446744073709551615e + 19). Это на несколько порядков меньше, чем 1'988'478e + 39 (или даже 1.989e + 30 ) и будет переполнять целое число.
Вы либо будете иметь переключиться на другой тип, который использует double или некоторую библиотеку "Big Int", или не указывать соотношение для одного килограмма к массе Солнца.