ふと、コンソール上で10進数⇔16進数の変換を行う方法ってどんなものがあるのか、と思ったので、少し調べてみることにした。
とりあえず、以下の2つの手法が簡単に変換でき、おすすめだ。
1.echo+bcで対応する
echo+bcの組み合わせで、うまいこと変換させることが出来る。
10進数→16進数
echo "obase=16; 10進数"|bc
16進数→10進数
echo "ibase=16; 16進数"|bc
[root@localhost ~]# echo "obase=16; 162"|bc
A2
[root@localhost ~]#
[root@localhost ~]# echo "ibase=16; FF"|bc
255
2.bashのprintfを使う
もしbashを使っているならば、組み込みコマンドであるprintfを使うことで簡単に変換することが出来る。
10進数→16進数
printf %x 10進数
16進数→10進数
printf %d 16進数
[root@localhost ~]# printf %x\\n 22
16
[root@localhost ~]# printf %d\\n 0xfc
252
※上記例では、改行のため出力時に「\n」をつけている
その他、wcalcコマンドという計算用のコマンドを使う方法もあるようだが、まぁ、インストールに面倒があるし、ただ変換するだけなら上記手法で問題無いだろう。