在将十六进制转换为二进制时,bc不会删除尾随零

时间:2015-04-27 21:13:15

标签: bash bc

我有一个bash脚本将十六进制转换为二进制,但我想要8位而不管作为参数提供的数字。例如,十六进制00应为00000000而非0或十六进制01应为00000001。这是脚本,但我无法弄清楚如何让bc这样做。这是可能的,还是我应该手动完成?

这是我的剧本:

#!/bin/bash
for j in $@
do
    BIN=$(echo "obase=2; ibase=16; $j" | bc )
    echo $BIN
done

1 个答案:

答案 0 :(得分:2)

我不知道bc是否支持此类行为,但您可以替换

echo $BIN

printf "%08d\n" "$BIN"