私は2進数に関する記事を読んでいて、最後にいくつかの練習上の問題がありましたが、問題の解決策は得られませんでした。最後は「アルファベットを表すのに何ビット必要ですか?」です。その質問に対する答えを教えて、その理由を簡単に説明できますか?ありがとう。
4 に答える
26まで数えているので、必要なのは5ビットだけです(大文字または小文字のみを使用する場合)。5ビットは最大31までカウントされるため、実際には必要以上のスペースがあります。4は15にしかカウントされないため、使用できません。
大文字と小文字の両方が必要な場合は、6ビットが答えです。6ビットは63にカウントされますが、二重アルファベットには(2 * 24 = 48)文字が含まれているため、十分な余裕があります。
それはあなたのアルファベットの定義に依存します。26文字のローマ字(AZ)から1文字を表す場合は、log2(26)=4.7ビットが必要です。明らかに、実際には、5ビットが必要になります。
ただし、文字のストリームが無限である場合、理論的には4.7ビットに近いエンコードスキームを思い付くことができます(個々の文字とビットベクトルの間の1対1のマッピングはもうありません)。
実際の人間の言語を表現することについて話している場合は、冗長性があるため、これよりはるかに少ない数(1.5ビット/文字の領域)で逃げることができます。しかし、それはここで1つの投稿に入るには複雑すぎます...(Googleのキーワードは「エントロピー」と「情報コンテンツ」です)。
アルファベットには26文字あるので、2 ^ 5 = 32は、すべての文字を含む最小の単語長です。
表現はどの程度直接的である必要がありますか?変換レイヤーなしで1:1が必要な場合は、5ビットで十分です。しかし、翻訳レイヤーがオプションである場合は、より少ないコストで逃げることができます。たとえば、モールス信号は3ビットで実行できます。:)