How can I convert an integer or double to and from their internal representation as raws of length 4 and 8?
The following works for positive integers (including those represented as floats): # Convert integer (represented as integer or double) to sequence # of raw bytes, least-significant byte first. # intToRaw(0) => raw(0) # intToRaw(17^9) => 91 64 63 9c 1b # intToRaw(2^60/3) => 40 55 55 55 55 55 55 05 (note effect of finite precision) intToRaw <- function(x, n=max(0,floor(log(x)/log(256)+1))) { stopifnot(x>=0) suppressWarnings( as.raw( floor( x / 2^(8*seq(0,length=n)) ) %% 256)) } but I'd think there was a simpler version that just casts the integer as a bytestring internally (for type integer at least). Also, of course, it doesn't help for getting the bit-pattern of a double. -s ______________________________________________ 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.