我可以将整数转换为原始格式:
pack_i8 <- function(byte) {
as.raw(strtoi(strsplit(gsub("(.{2})", "\\1 ", as.character(format(as.hexmode(byte), width = 1))), " ")[[1]], 16L))
}
pack_i16 <- function(i16) {
as.raw(strtoi(strsplit(gsub("(.{2})", "\\1 ", as.character(format(as.hexmode(i16), width = 2))), " ")[[1]], 16L))
}
pack_i32 <- function(i32) {
as.raw(strtoi(strsplit(gsub("(.{2})", "\\1 ", as.character(format(as.hexmode(i32), width = 4))), " ")[[1]], 16L))
}
我正在寻找将数字类型转换为raw的方法:
pack_double <- function(dub) {
???
}
简单as.raw(dub)给出:
[1] 00
as.hexmode(dub)不接受数字参数。
提前感谢您提供一些提示。
答案 0 :(得分:0)
确定。
很简单:
writeBin(1234567890.1234567, raw(), size = 8, endian = "big")
做那件事。