在将十六进制转换为二进制时让 bc 不删除尾随零
Have bc not drop the trailing zeros while converting hex to binary
我有一个 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
我不知道 bc
是否支持这种行为,但您可以替换
echo $BIN
和
printf "%08d\n" "$BIN"
我有一个 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
我不知道 bc
是否支持这种行为,但您可以替换
echo $BIN
和
printf "%08d\n" "$BIN"