Skip to content

convert large integers to hex

5 messages · jim holtman, Gabor Grothendieck, Sundar Dorai-Raj

#
Hi,

I'm wondering if someone has solved the problem of converting very
large integers to hex. I know about format.hexmode and as.hexmode, but
these rely on integers. The numbers I'm working with are overflowing
and losing precision. Here's an example:

x <- "6595137340052185552" # stored as character
as.integer(x) # warning about inaccurate conversion
format.hexmode(as.numeric(x)) # warnings about loss of precision
as.hexmode(x) # more warnings and does not do what I expected

I'm planning on writing a function that will do this, but would like
to know if anybody already has a solution. Basically, I would like the
functionality of format.hexmode on arbitrarily large integers.

Thanks,

--sundar
#
rSymPy (http://rsympy.googlecode.com) can do that:
Loading required package: rJava
[1] "0x3039"
[1] "3039"
[1] "0x5b86a277deb9a1d0L"

as can r-bc package (http://r-bc.googlecode.com - not on CRAN).
On Wed, May 6, 2009 at 3:26 PM, Sundar Dorai-Raj <sdorairaj at gmail.com> wrote:
#
There is an interface between R and bc -- not on CRAN but available
from its home page here:
http://r-bc.googlecode.com
[1] "1B69B4BACD05F15"
On Wed, May 6, 2009 at 9:59 PM, jim holtman <jholtman at gmail.com> wrote:
#
Thanks for both answers. In the end I decided to use Gabor's bc package.

Thanks,

--sundar

On Thu, May 7, 2009 at 5:10 AM, Gabor Grothendieck
<ggrothendieck at gmail.com> wrote: