Randal L. Schwartz <merlyn <at> stonehenge.com> writes: > > >>>>> "johnps11" == johnps11 <johnps11 <at> bigpond.com> writes: > > johnps11> I'm not clever enough to understand PRNGs, so I'll leave it others > johnps11> to work out what the answer is, although I suspect that for more > johnps11> than 56 bits you need a PRNG that uses LargeIntegers and not Floats. > > Yes. There are only 56 bits in an IEEE Float. You can't get any more > random bits from that. >
Nah! IEEE 754 double have 53 bit mantissa. - 1 bit for sign, - 11 bits for biased exponent, - 52 bits for mantissa plus a leading implied bit. +/- 1.m1m2m3...m52 * (2 raisedTo: e1e2...e11 - 1024) 1.0 hex-> '3FF0000000000000' mantissa=16r1.0000000000000 exponent=16r3FF-1024=0 1.5 hex-> '3FF8000000000000' mantissa=16r1.8000000000000 exponent=16r3FF-1024=0 2.5 hex-> '4002000000000000' mantissa=16r1.2000000000000 exponent=16r400-1024=1 this number is thus represented 1.125 * 2 Nicolas _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners