私はスキームにかなり慣れていません。10 進数から 2 進数に変換する方法は知っていますが、逆に変換するロジックは思いつきません。2進数のリストから10進数を取得したい。
小数の例:
(decimal '(1 0 1)) ---> 5
16 進数の例:
(hexadecimal '(1 0 0 0 1)) ----> 12
これまでのところ、リストの最後の数字を 2 iで再帰的に乗算することで実行できると思います。ここで、i はリスト内の位置を表し、最後の数字に 1 を掛け、次の数字に 2 を掛けます。最後に、再帰サイクルごとにこれらの数値を追加します。このアイデアを実行する方法も、うまくいくかどうかもわかりません。