Print the byte-wise representation of a value
Print the byte-wise representation of a value
bytes(x, split = TRUE) bits(x, split = TRUE)
x |
An R vector of type |
split |
Whether we should split the output string at each byte. |
http://en.wikipedia.org/wiki/Two's_complement for more
information on the representation used for int
s.
http://en.wikipedia.org/wiki/IEEE_floating_point for more
information the floating-point representation used for double
s.
http://en.wikipedia.org/wiki/Character_encoding for an introduction
to character encoding, and ?Encoding
for more information on
how R handles character encoding.
## Encoding doesn't change the internal bytes used to represent characters; ## it just changes how they are interpretted! x <- y <- z <- "\u9b3c" Encoding(y) <- "bytes" Encoding(z) <- "latin1" print(x); print(y); print(z) bytes(x); bytes(y); bytes(z) bits(x); bits(y); bits(z) ## In R, integers are signed ints. The first bit indicates the sign, but ## values are stored in a two's complement representation. We see that ## NA_integer_ is really just the smallest negative integer that can be ## stored in 4 bytes bits(NA_integer_) ## There are multiple kinds of NAs, NaNs for real numbers ## (at least, on 64bit architectures) print( c(NA_real_, NA_real_ + 1) ) rbind( bytes(NA_real_), bytes(NA_real_ + 1) ) rbind( bytes(NaN), bytes(0/0) )
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.