我知道我们可以使用bash将十六进制转换为dec
#!/bin/bash
echo "Type a hex number"
read hexNum
echo $(( 16#$hexNum ))
但是当我用hexNum=9b4bbba36e494bcd
运行它时,它给了我-7256500063973061683
,即负值,它是2的补数。
我不希望它是2的补码。我想将hexNum=9b4bbba36e494bcd
的输出作为11190244009736489933
。如https://www.rapidtables.com/convert/number/hex-to-decimal.html?x=9b4bbba36e494bcd所给>
如何使用bash获取此输出?请帮助!
我知道我们可以使用#!/ bin / bash echo“将a十六进制数字”转换为bash中的dec形式的十六进制值,读取hexNum echo $(((16#$ hexNum)),但是当我使用hexNum = 9b4bbba36e494bcd运行它时,它给我-...
如评论中所指出,您的示例中的数字太大。 bash
使用固定大小的整数进行计算。大数字将溢出。