[R] hex format
Earl F. Glynn
efg at stowers-institute.org
Thu Apr 7 18:58:48 CEST 2005
"Duncan Murdoch" <murdoch at stats.uwo.ca> wrote in message
news:42555459.6040106 at stats.uwo.ca...
> > Seems to me the conversion from hex to decimal should be system
independent
> > (and makes working with colors much more convenient). Why isn't this
system
> > independent now?
>
> Presumably because nobody thought it was important enough to make it so.
> R isn't a low level system programming language, so why should it
> treat hex specially?
1) While generally I'd agree with your statement, manipulating colors is one
place the ability to convert to/from hex would be quite nice.
> rgb(1,0,0.5)
[1] "#FF0080"
rgb returns a hex string and then R makes manipulating this string somewhat
difficult. One might want to use such color values to convert to a
different color space, perform some sort of manipulation in that other color
space, and then convert back to rgb.
2) I would think that one of R's mathematical abilities would be to provide
a way to convert from any base to base 10, and from base 10 to any base. I
haven't found this general math tool yet in R. Working with base-16 (or
even base 2 sometimes) could be done with such a general math tool.
3) While I may be in a minority, I would even consider exporting IEEE
floating-point numbers in hex form as a way to avoid any additional
conversion losses converting to/from decimal.
4) Why not make working with "raw" data a little easier? readbin shows hex
values but they are not easy to work with inside of R.
> IntegerSize <- 4 # How do I get this value from R?
> i <- -2:2
> i
[1] -2 -1 0 1 2
> length(i)
[1] 5
> object.size(i)
[1] 52
>
> writeBin(i, "big.bin", endian="big")
> big <- readBin("big.bin", "raw", length(i)*IntegerSize)
> big
[1] ff ff ff fe ff ff ff ff 00 00 00 00 00 00 00 01 00 00 00 02
>
> writeBin(i, "little.bin", endian="little")
> little <- readBin("little.bin", "raw", length(i)*IntegerSize)
> little
[1] fe ff ff ff ff ff ff ff 00 00 00 00 01 00 00 00 02 00 00 00
>
5) Does R have a hex consistency problem? The color values start with a "#"
for hex, but the as.numeric("#FF0080") isn't allowed?
Thanks for your time.
efg
More information about the R-help
mailing list