[英]Converting HEX to DEC is out of range by using `mawk`
当十六进制数相对较小时,我可以使用echo 0xFF| mawk '{ printf "%d\n", $1}'
echo 0xFF| mawk '{ printf "%d\n", $1}'
将十六进制转换为十进制。
当十六进制数很大时,mawk 不再起作用,比如echo 0x8110D248 | mawk '{ printf "%d\n", $1}'
echo 0x8110D248 | mawk '{ printf "%d\n", $1}'
输出2147483647
(相当于 0x7FFFFFFF)。
如果您只需要将十六进制转换为十进制,我想知道您为什么使用mawk
。 你不能做类似的事情吗
echo 'ibase=16;8110D248' |bc
(这输出2165363272
)。
bash
也可以这样做(以及 zsh 和 pdksh):
echo $(( 0x8110D248 ))
Output:
2165363272
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.