# [Numpy-discussion] Random int64 and float64 numbers

josef.pktd@gmai... josef.pktd@gmai...
Thu Nov 5 22:14:39 CST 2009

```On Thu, Nov 5, 2009 at 10:42 PM, David Goldsmith
<d.l.goldsmith@gmail.com> wrote:
> On Thu, Nov 5, 2009 at 3:26 PM, David Warde-Farley <dwf@cs.toronto.edu>
> wrote:
>>
>> On 5-Nov-09, at 4:54 PM, David Goldsmith wrote:
>>
>> > Interesting thread, which leaves me wondering two things: is it
>> > documented
>> > somewhere (e.g., at the IEEE site) precisely how many *decimal*
>> > mantissae
>> > are representable using the 64-bit IEEE standard for float
>> > representation
>> > (if that makes sense);
>>
>> IEEE-754 says nothing about decimal representations aside from how to
>> round when converting to and from strings. You have to provide/accept
>> *at least* 9 decimal digits in the significand for single-precision
>> and 17 for double-precision (section 5.6). AFAIK implementations will
>> vary in how they handle cases where a binary significand would yield
>> more digits than that.
>
> I was actually more interested in the opposite situation, where the decimal
> representation (which is what a user would most likely provide) doesn't have
> a finite binary expansion: what happens then, something analogous to the
> decimal "rule of fives"?

Since according to my calculations there are only about

>>> 4* 10**17 * 308
123200000000000000000L

double-precision floats, there are huge gaps in the floating point
representation of the real line.
Any user input or calculation result just gets converted to the
closest float.

Josef

>
> DG
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
```