数値を2進数・8進数・16進数表現の文字列に変換するには
GW中なのにも関わらず更新できてない!
腹を切って死ぬべきです。
さて掲題の課題ですがformat関数を使えば簡単に実現できそうですね。
ところでformat関数はオプションが多すぎてさっぱり分からないです。
http://super.para.media.kyoto-u.ac.jp/~tasuku/format-func.html
上記のようなサイトもあるんですが、なかなか使いこなすところまではいけないです。
どうやら"~vR"のオプションでいけそうですね。
2.3.5 ~R — Radix
arg の消費: 1個
パラメータ: ~ radix , mincol , padchar , commachar , comma-interval R
1つでもパラメータを指定した場合とすべて省略した場合で機能がまったく違う.
まず,パラメータを指定した場合,消費した arg の値を radix 進で表示する (デフォルトは10進) .
このとき,それ以降のパラメータや修飾子の意味は ~D , ~B , ~O , ~X と同じである.
さて試してみます。
; 255を16進で表示してみる (format nil "~vR" 16 255) "FF" ; 255を2進で表示してみる (format nil "~vR" 2 255) "11111111"
簡単ですね!