2進数の記述
Posted feedbacks - Scheme
Gaucheならそのまま書けますね。
1 2 | gosh> #b01101001
105
|
なんとなく36進数まで対応してみました。 もっと良い方法がありそうですが。 10:user> #,(r 2 "01101001") => 105 11:user> #,(r 16 "ff") => 255 12:user> #,(r 36 "10") => 36
1 2 3 | (define-reader-ctor 'r
(lambda (radix string)
(string->number string radix)))
|
#b で 2 進数を書くことができます。
1 | #b1011
|





yappy
#4345()
[
C
]
Rating4/6=0.67
そこで、ソース中に2進数を定数として書く方法、またはその代替手段を考えてください。
ある程度の評価基準を示します(できるところまでで構いません)。
・2進数の表示方法は0と1
・桁数は可変長
・コンパイル等の後に最適化等によって定数に変換されることが見込まれる
Cで関数として実装したものを示しておきます。
Rating4/6=0.67-0+
[ reply ]