strtoi函数接受一个字符串作为输入(参见文档)。然而,as.hexmode函数不返回整数,而是输入的十六进制表示,这不是一个字符串(它是一个名为hexmode的类型)。根据R文档的建议,正确的解决方案是使用as.integer来获取原始输入。> strtoi(as.hexmode(-8192),16) [1] NA > as.integer(as.hexmode(-8192)) [1] -8192 我仍然不清楚问题是否出在使用了负数输入上。我只能假设strtoi仅处理无符号整数。