如何将十六进制值递增1并将其保存到循环中的变量?
我有echo 'obase=16;ibase=16;A+1' | bc
这将输出正确的十六进制值,但我似乎无法通过变量扩展进行计算。
我想做key=$(echo 'obase=16;ibase=16;$key+1' | bc)
之类的事情,但这失败了。我需要能够从0x0增加到0xffff并使用十六进制值,而不仅仅是输出它。谢谢!
答案 0 :(得分:0)
尝试类似:
declare -i key
for (( key=0; key<=16#ff; key++ )); do
printf "%d (dec) = %x (hex), " $key $key
printf "%x (hex) + 1 = %x (hex)\n" $key $(( $key + 1))
done
希望这有帮助。