Мне нужно рассчитать список очень маленьких чисел, таких как
(0.1) ^ 1000, 0.2 ^ (1200),
а затем нормализуйте их, чтобы они суммировали до одного т.е.
a1 = 0,1 ^ 1000, a2 = 0,2 ^ 1200
И я хочу рассчитать a1 '= a1/(a1 + a2), a2' = a2 (a1 + a2).
У меня проблемы с потоком, так как я получаю a1 = 0. Как я могу обойти это? Теоретически я мог бы работать с журналами, а затем log (a1) = 1000 * log (0.1) был бы способом представления a1 без проблем с потоком. Но для нормализации мне нужно было бы получить log (a1 + a2) - который я не могу вычислить, так как я не могу напрямую представить a1.
Я программирую с R - насколько я могу судить, нет такого типа данных, как Decimal в С#, который позволяет вам лучше, чем значение двойной точности.
Любые предложения будут оценены, спасибо