入ってくるビット シーケンスを文字 ('a' .. 'z' ) として表現できるアルゴリズムを探しています。ビット ストリームを文字から再生成できるように、シーケンス全体を保持する必要はありません。記憶に。
つまり、外部ビット ソース (読み取りごとに実質的にランダムなビットが返される) と、ビット数のユーザー入力が与えられた場合、それらのビットを表すことができる最小数の文字を出力したいと考えています。
理想的には、パラメータ化が必要です - いくらかの無駄が必要になる前に、メモリの量と最大ビット数。
効率目標 - ビットの base-26 表現と同じ数の文字。
非解決策:
十分なストレージが存在する場合は、シーケンス全体を保存し、大整数 MOD 26 演算を使用します。
9 ビットごとに 2 文字に変換 - これは最適ではないように思われ、文字出力の情報容量の 25% を無駄にします。