2018/12/11

shellで基数変換 2進数、8進数、16進数、36進数



いままでbcコマンド(ibase,obase)のお世話になることが多かった。でもbcコマンドは16進数までしか変換できないんだよね。
調べてみたら、zshやbashで基数変換できるらしい。

% echo $((36#99))
333

ところが、調べてみてもinとoutを指定して基数変換する方法がわからない。できないんだろうと思っていたんだけど、やり方を教えてもらえました。これどこに載ってんの?きっと公式ドキュメントのどこかに載っているんだろうなぁ・・・。

追記:ここに載っている



% echo $(([#36] 10#333))
36#99

こりゃ便利。10進数 → 36進数とか36進数 → 10進数とか、わりと仕事で必要になるんだ。あ、64進数はダメなのね。


0 件のコメント:

コメントを投稿