Skip to content
Back to formatted view

Raw Message

Message-ID: <50EEE50C.2060607@gmail.com>
Date: 2013-01-10T15:58:04Z
From: Duncan Murdoch
Subject: Precision of values > 53 bits
In-Reply-To: <50EE9F85.2000101@atsec.com>

On 13-01-10 6:01 AM, Stephan Mueller wrote:
> Hi,
>
> I am working with large numbers and identified that R looses precision
> for such high numbers.
>
> The precision is lost exactly when the number is equal or larger than 53
> bits. See the following output which shows that the numbers below 53 bit
> have proper precision:
>
>> 2^53
> [1] 9007199254740992
>> 2^53-1
> [1] 9007199254740991
>> 2^53-2
> [1] 9007199254740990
>
> Now, see the numbers above 53 bit:
>
>> 2^53
> [1] 9007199254740992
>> 2^53+1
> [1] 9007199254740992
>> 2^53+2
> [1] 9007199254740994
>> 2^53+3
> [1] 9007199254740996
>> 2^53+4
> [1] 9007199254740996
>
>
> Is there a solution to the problem?

R has no native numeric type with more than 53 bit precision, but other 
packages have added it.  For example, the gmp package provides an 
interface to the gmp library which supports arbitrarily large integers 
and arbitary precision rationals.

Duncan Murdoch