我有以下数据:“210000000080401”。我需要将十六进制“210000000080401”转换为其十进制形式。
使用 Awk 没有给出正确的结果:
echo 210000000080401|awk -Wposix '{printf "%d %s\n", "0x" $1, $0}'
148618787703751680 210000000080401
Run Code Online (Sandbox Code Playgroud)
而正确的值为 148618787703751681
echo 210000000080401 | tr '[:lower:]' '[:upper:]'|xargs -i{} bash -c 'printf "%d\n" 0x{}'
148618787703751681
Run Code Online (Sandbox Code Playgroud)
为什么 awk 没有给出正确的输出?