Shammer's Philosophy

My private adversaria

CommonLispの整数表記方法メモ

巨大な数を扱うようなプログラムを書く場合は、2進数や16進数表記を使用できると便利。以下にそれぞれの表記方法を備忘録としてメモ。

? #b10000000000
1024
? #o2000
1024
? 1024
1024
? #x400
1024
?

#b で始めると2進数、#o で始まるのが8進数、#x で始まるのが16進数。だが、これらを使用して計算しても結果は10進数になってしまう。

? (- #b1000000 #b11)
61
? (+ #b11 #xff)
258
?

これをそのまま2進数表記にしておくにはどうすればいいのだろうか。。。