2012年7月1日日曜日

Emacs で整数をさまざまな基数(radix, 底)で表現する

整数を2進数や16進数で表す方法は?

リファレンスマニュアルをひいたらちゃんと書いてありました。


The syntax for integers in bases other than 10 uses ‘#’ followed by a letter that specifies the radix: ‘b’ for binary, ‘o’ for octal, ‘x’ for hex, or ‘radixr’ to specify radix radix. Case is not significant for the letter that specifies the radix. Thus, ‘#binteger’ reads integer in binary, and ‘#radixrinteger’ reads integer in radix radix. Allowed values of radix run from 2 to 36. For example:

#b101100 ⇒ 44
#o54 ⇒ 44
#x2c ⇒ 44
#24r1k ⇒ 44

#{radix}rという表現で2から36までの任意の基数を指定できる、という機能は初めて知った。面白い。

ちなみに上の例は Emacs Lisp だけでなくて Common Lisp でも機能した(SBCL-1.0.55 だけど)。しかし、リファレンスからその説明をみつけだすことができなかった。


0 件のコメント:

コメントを投稿