2019年9月3日 星期二

[shell script] 2進制,10進制,16進制的轉換方法

1. 搭配ibase, obase, bc 能夠達到進制轉換的目的
2. ibase => input base為幾進制,obase => output base為幾進制
3. 注意須先寫obase,再去寫ibase

上面幾點注意事項了解了之後,來看實際範例:

example: 16進制"35"轉10進制
echo "obase=10; ibase=16; 35" | bc
=> 53

example: 16進制"C0"轉10進制
echo "obase=10; ibase=16; C0" | bc
=>192

實際應用可以這樣
value=`echo "obase=10; ibase=16; C0" | bc`
echo $value
=>192


或是可以這樣
tmp=C0
value=`echo "obase=10; ibase=16; $tmp" | bc`
echo $value
=>192

============= 如果沒有 bc 可以使用, 則用下面方式(only 16轉10) ============
echo $((0x35))
=> 53

使用變數的用法
hexVal=35
echo $((0x${hexVal}))
=> 53

沒有留言:

張貼留言