Как использовать алфавит двоичные символы - PullRequest
2 голосов
/ 07 ноября 2010

Я читал статью о двоичных числах, и в конце у нее были некоторые практические проблемы, но они не дали решения проблем.Последнее: «Сколько бит требуется для представления алфавита?».Можете сказать мне ответ на этот вопрос и кратко объяснить, почему?Спасибо.

Ответы [ 4 ]

4 голосов
/ 07 ноября 2010

Вам потребуется всего 5 бит, потому что вы считаете до 26 (если мы берем только заглавные или строчные буквы). 5 битов будут считать до 31, поэтому у вас на самом деле больше места, чем нужно. Вы не можете использовать 4, потому что это считается только 15.

Если вы хотите использовать как верхний, так и нижний регистр, то ответом будет 6 бит - 6 бит будут успешно сосчитаны до 63, в то время как ваш двойной алфавит имеет (2 * 24 = 48) символов, снова оставляя достаточно места.

3 голосов
/ 07 ноября 2010

Это зависит от вашего определения алфавита.Если вы хотите представить один символ из 26-буквенного латинского алфавита (AZ), то вам нужно log2 (26) = 4,7 бита.Очевидно, что на практике вам потребуется 5 битов.

Однако, учитывая бесконечный поток символов, теоретически можно придумать схему кодирования, которая будет близка к 4,7 битам (просто не будетсопоставление «один к одному» между отдельными символами и битовыми векторами).

Если вы говорите о представлении реального человеческого языка, то вы можете получить намного меньшее значение, чем это (в области1,5 бит / символ), из-за избыточности.Но это слишком сложно, чтобы войти в один пост здесь ... (ключевые слова Google - "энтропия" и "информационный контент").

2 голосов
/ 07 ноября 2010

В алфавите 26 букв, так что вы 2 ^ 5 = 32 - минимальная длина слова, которая содержит все буквы

0 голосов
/ 07 ноября 2010

Насколько прямым должно быть представление?Если вам нужно 1: 1 без слоя перевода, тогда подойдут 5 бит.Но если вариант перевода является вариантом, то вы можете сойти с рук с меньшими затратами.Например, азбука Морзе может сделать это в 3 бита.:)

...