есть число 0...1000.
в основном 0..20
нужно из него получить очень малую вероятность (сработала вероятность? делаю действие. нет? ничего)
0=0.01%
20=1%
1000=10%
степени и даже умножения теряют точность из-за малого количества бит доступных.
предложите какой-нибудь вариант?
пока извращаюсь с random(0,1) который складываю в цикле чтобы получить число близкое к 0.5 и потом проверяю >. но чот слишком уж сложно
п.с. переменные с фиксировенной точкой. 19 бит до точки (+1 на знак) и 12 бит после точки. т.е. приводить числа к 0...1 очень не желательно.
p.s. log отсутствует. есть tan, arctan