当我在shell中键入-> $ echo $(((16#FF))
输出为“ 255”,实际上是十六进制数字“ 0x16”的十进制转换。
但是当我尝试以类似方式转换十六进制数“ 0xffb5cd10”时,即-> $ echo $(((ffb5cd10#FF))
我收到错误->
“ bash:ffb5cd10#FF:语法错误:无效的算术运算符(错误标记为” #FF“)”
答案 0 :(得分:0)
因此,此命令的正确语法是$ echo $((''base'#number)),其中base实际上是您赋予外壳程序的数字的底数,它将为您提供十进制转换。在这里,FF是数字,16是基数,FF转换为255。
答案 1 :(得分:0)
我认为您的问题在这里:
“(错误令牌为” #FF“)”
您以十六进制格式输入数字,然后要求再次返回十六进制。
如果您从代码中省略了基数,那么(我认为)正弦函数可以返回预期结果,如下所示:
$ echo $(((ffb5cd10#))