r - 将十六进制格式转换为R中的 float

标签 r hex

请问有人能帮我在 R 中如何将 4 字节十六进制格式转换为 float 吗?例如我想将 "aec7a042" 传输到 80.39 。经过大量搜索后,我在 R 中找不到任何东西来给我这个转换! C函数是BitConverter。单例。但我需要在 R 中做同样的事情吗? 有谁能帮帮我吗?

最佳答案

您可以使用 readBin 读取此值。您似乎有一个 4 字节的带符号浮点值。您可以通过以下方式阅读:

readBin("aec7a042", "double", size=4)
# [1] 80.39

如果这在您的 R 版本中不起作用,请尝试

x <- "aec7a042"
readBin(as.raw(strtoi(substring(x, (step<-seq(1, nchar(x), by=2)), step+1), 16)), "double",n=1,size=4)
# or 
readBin(as.raw(strtoi(apply(matrix(strsplit(x,"")[[1]],2),2,paste, collapse=""), 16)), "double", size=4)

这里我们更明确地将字符串转换为字节的原始向量。

关于r - 将十六进制格式转换为R中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39461349/

相关文章:

r - 是否有正则表达式可以查找两个正斜杠之间和特定字符串之后的字符串? [R]

r - 获取所有观察组合的集合之间的交集

c++ - C++ 中有符号十六进制转十进制

c++ - 重新链接十六进制代码并在另一台机器上运行

r - R中是否有内置函数来检查变量类型是否被保留?

r - 如何使用带有葡萄牙口音的R包考试?

将输入返回为响应式(Reactive) Shiny - 插入 UI 中的动态 UI 中的列表

css - 将调色板转换为另一种颜色

sql - Presto - 十六进制字符串到 int

java - 在 Java 中将不可打印字符打印为句号