Linux/UNIXのコンソール上で10進数⇔16進数変換を行う
Pocket

ふと、コンソール上で10進数⇔16進数の変換を行う方法ってどんなものがあるのか、と思ったので、少し調べてみることにした。
とりあえず、以下の2つの手法が簡単に変換でき、おすすめだ。

 

1.echo+bcで対応する

echo+bcの組み合わせで、うまいこと変換させることが出来る。

●10進数→16進数

echo "obase=16; 10進数"|bc

 

●16進数→10進数

echo "ibase=16; 16進数"|bc

 

20160122_000002

[root@localhost ~]# echo "obase=16; 162"|bc
A2
[root@localhost ~]#
[root@localhost ~]# echo "ibase=16; FF"|bc
255
Sponsored Links

2.bashのprintfを使う

もしbashを使っているならば、組み込みコマンドであるprintfを使うことで簡単に変換することが出来る。

●10進数→16進数

printf %x 10進数

●16進数→10進数

printf %d 16進数

20160122_000003

[root@localhost ~]# printf %x\\n 22
16
[root@localhost ~]# printf %d\\n 0xfc
252

 

※上記例では、改行のため出力時に「\\n」をつけている

 

その他、wcalcコマンドという計算用のコマンドを使う方法もあるようだが、まぁ、インストールに面倒があるし、ただ変換するだけなら上記手法で問題無いだろう。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。