我正在尝试hex直接使用进行计算bc,我已经指定了比例。
echo 'scale=16;c06b1000-c06a5e78' | bc
Run Code Online (Sandbox Code Playgroud)
但我仍然得到一个零。可能有什么问题?
rus*_*ush 40
echo 'ibase=16;C06D1000-C06A5E78' | bc
176520
Run Code Online (Sandbox Code Playgroud)
请注意,仅支持大写十六进制数字,因为小写字母会与函数名和变量名冲突,这就是您在示例中得到 0 ( var1 - var2)
如果您也需要十六进制的答案,只需设置obase变量:
echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188
Run Code Online (Sandbox Code Playgroud)
PS:仅供参考scale不是为转换基础而设计的。来自man bc:
scale defines how some operations use digits after the decimal point.
The default value of scale is 0.
Run Code Online (Sandbox Code Playgroud)