Going past the float size limits?
Hendrik van Rooyen
mail at microcorp.co.za
Sat Oct 27 10:24:41 CEST 2007
<jimmy.musselwhite at gmail.com> wrote:
> On Oct 26, 6:56 pm, "Chris Mellon" <arka... at gmail.com> wrote:
> > What in the world are you trying to count?
>
> The calculation looks like this
>
> A = 0.35
> T = 0.30
> C = 0.25
> G = 0.10
>
> and then I basically continually multiply those numbers together. I
> need to do it like 200,000+ times but that's nuts. I can't even do it
> 1000 times or the number rounds off to 0.0. I tried taking the inverse
> of these numbers as I go but then it just shoots up to "inf".
Yeah right. Nuts it is.
0.35*0.3*0.25*0.1 is approximately a third of a third of a
quarter of a tenth, or more precisely 2.625 parts in a thousand.
So after the second set of mutiplies, you have about 6.89 parts in a million,
and then 0.18 parts in a billion after the third, and so on - the exponent grows
by between -3 and -2 on every iteration.
So 0.002625**200000 is a number so small that its about as close as
you can practically get to bugger-all, as it is less than 10 ** -400000,
and more than 10**-600000
Now I have heard rumours that there are approximately 10**80 elementary
particles in the universe, so this is much less than one of them, even if my
rumour is grossly wrong.
A light year is of the order of 9.46*10**18 millimetres, and no human has ever
been that far away from home. Call it 10**19 for convenience. So your number
slices the last millimetre in a light year into more than 10**399981 parts.
Have you formulated the problem that you are trying to solve properly?
- Hendrik
More information about the Python-list
mailing list