bc
将10进制数转换成16进制数比如转换 65535 为 16进制
echo 'obase=16; 65535' | bc
得到 FFFF
printf 是挺方便的,不过我还是喜欢 bc ,因为它能转换任意进制,比如英制的12进制,
你也可以炮制并不存在的进制。比如
echo 'obase=37; 65535' | bc
就是37进制啦,哈哈,它等于 01 10 32 08
'obase=37; 65535' 都传递给程序 bc 告诉它,我要求现在 output base 为 37 ,那 65535 为多少呢?
另外,还有 ibase 表示 input base,比如
echo 'obase=16; ibase=8; 177777' | bc
可以直接将八进制的数177777变成十六进制,也是FFFF
ksh下可以用typeset实现转换
printf "%x" 65535