>
>
> As far as I can tell, the largest number R can take has 308 digits
> (1+E308).
>

This is not a correct statement.  The magnitude of the largest 64-bit double
precision floating
point number in R is approximately 1E308.  The internal storage in R (and
in most computers today)
contains only the first 53 binary digits of the number multiplied by a power
of 2.  Please see R FAQ 7.31
and the Goldberg article referenced there.

The bc results Jim suggested will get you the several hundred digits of the
full precision number,
but that is not what R sees.

The best way to see the exact number internally stored in R is the sprintf
%a format

sprintf("%+13.13a", x)

> sprintf("%+13.13a", .66)
[1] "+0x1.51eb851eb851fp-1"
> sprintf("%+13.13a", 1-.34)
[1] "+0x1.51eb851eb851ep-1"
> sprintf("%+13.13a", .66-(1-.34))
[1] "+0x1.0000000000000p-53"
>

In the .66 display, the repeating hex (51eb8) was rounded, in the 1-.34
display it was chopped.
The difference between these two numbers is not 0.

Rich

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to