使用 Linux 终端将十六进制数转换为十进制数
Converting hexadecimal number to decimal using Linux terminal
当我输入 shell ->
$echo $(( 16#FF ))
输出为“255”,是十六进制数“0xFF”的十进制转换
但是当我尝试将数字 "FF" 类似地转换为另一个基数时:
$ echo $(( ffb5cd10#FF ))
我收到以下错误:
"bash: ffb5cd10#FF : syntax error: invalid arithmetic operator (error token is "#FF ")"
所以这个命令的正确语法是 $echo $ (('base'#number )) 其中 base 实际上是你给 shell 的数字的基数,它会给出你十进制转换。这里,FF 是数字,16 是基数,FF 转换为 255..
我认为你的问题出在这里:
”(错误标记为“#FF”)”
你输入一个十六进制格式的数字,然后再次要求 return 一个十六进制。
这个语法,(我认为)可以 return 如果您从代码中省略基数,则可以得到预期的结果,如下所示:
$ 回显 $(( ffb5cd10# ))
当我输入 shell ->
$echo $(( 16#FF ))
输出为“255”,是十六进制数“0xFF”的十进制转换
但是当我尝试将数字 "FF" 类似地转换为另一个基数时:
$ echo $(( ffb5cd10#FF ))
我收到以下错误:
"bash: ffb5cd10#FF : syntax error: invalid arithmetic operator (error token is "#FF ")"
所以这个命令的正确语法是 $echo $ (('base'#number )) 其中 base 实际上是你给 shell 的数字的基数,它会给出你十进制转换。这里,FF 是数字,16 是基数,FF 转换为 255..
我认为你的问题出在这里:
”(错误标记为“#FF”)”
你输入一个十六进制格式的数字,然后再次要求 return 一个十六进制。
这个语法,(我认为)可以 return 如果您从代码中省略基数,则可以得到预期的结果,如下所示:
$ 回显 $(( ffb5cd10# ))