我在R中运行下面的代码,但它并没有返回原始的十进制数。
as.hexmode(-8192) "ffffe000" strtoi(c("ffffe000")) NA
该 strtoi 函数接收一个字符串作为输入(见 文件). 然而, as.hexmode 函数并不返回一个整数,而是返回输入的十六进制表示,它不是一个字符串(它是一个名为 hexmode (AFAIK)。
strtoi
as.hexmode
hexmode
适当的解决办法,如 R文件,正在使用 as.integer 以获得您的原始输入。
as.integer
> strtoi(as.hexmode(-8192),16) [1] NA > as.integer(as.hexmode(-8192)) [1] -8192
我仍然不清楚问题是否出在负数输入上。我只能假设 strtoi 只处理无符号的ints。