shell命令进制转换
一. 其他进制转十进制
通用公式:
echo "$((其他进制#其他进制的值))"
其中, 其他进制可以为任意进制.
echo "$((2#00011000))"
#二进制转十进制
echo "$((8#0567))"
#八进制转十进制
echo "$((16#ff))"
#十六进制转十进制
echo "$((3#122))"
#三进制转十进制
二. 十进制转其他进制
echo "obase=目标进制;十进制的值"|bc
其中目标进制可以为任意整数
示例:
echo "obase=2;10"|bc
#十进制转为二进制
echo "obase=8;10"|bc
#十进制转为八进制
echo "obase=16;33"|bc
#十进制转为十六进制
echo "obase=3;12"|bc
#十进制转为三进制
三. 其他相关命令
- od命令
二进制/十六进制等格式读取文件内容
- printf方式
简单转换
printf "%x%n" 100 #十进制到十六进制
printf "%o%n" 100 #十进制到八进制