我需要将一个非常大的数字转换为十六进制形式(没有空格,没有任何东西,例如 8ac7230489e80001)。使用
printf
会产生超出范围的错误。
printf '%x\n' "24267339429148234667523"
-bash: printf: warning: 24267339429148234667523: Numerical result out of range
ffffffffffffffff
我尝试了其他方法(python),但似乎它们只给出字符串输出。我仍然需要它是一个数字。 是否可以处理这样更大的数字?
您可以使用
bc
实用程序:
bc <<< 'obase=16;24267339429148234667523'