Я читал статью о двоичных числах, и у нее были некоторые проблемы с практикой в конце, но она не давала решения проблем. Последнее: «Сколько бит требуется для представления алфавита?». Можете сказать мне ответ на этот вопрос и кратко объяснить, почему? Спасибо.Как использовать алфавитные двоичные символы
ответ
Вам понадобятся только 5 бит, потому что вы считаете 26 (если взять только буквы верхнего или нижнего регистра). 5 бит будут считаться до 31, поэтому у вас на самом деле больше места, чем вам нужно. Вы не можете использовать 4, потому что это значение считается равным 15.
Если вы хотите получить как верхний, так и нижний регистр, то 6 бит - ваш ответ - 6 бит будут счастливы рассчитывать до 63, а ваш двойной алфавит имеет (2 * 24 = 48) персонажей, снова оставляя большой запас.
Это зависит от вашего определения алфавита. Если вы хотите представить один символ из 26-буквенного латинского алфавита (A-Z), вам понадобится log2 (26) = 4.7 бит. Очевидно, на практике вам понадобятся 5 бит.
Однако, учитывая бесконечный поток символов, теоретически может возникнуть схема кодирования, которая близка к 4.7 битам (там просто не будет сопоставлено взаимно однозначное сопоставление между отдельными символами и битовыми векторами).
Если вы говорите о представлении фактического человеческого языка, то вы можете уйти с гораздо меньшим числом, чем это (в области 1,5 бит/символ) из-за избыточности. Но это слишком сложно, чтобы войти в один пост здесь ... (ключевые слова Google - «энтропия» и «информационный контент»).
Гораздо более описательный, чем мой пост (ниже) - спасибо за информацию :) – Bojangles
В алфавите есть 26 букв, поэтому вы 2^5 = 32 - это минимальная длина слова, чем все буквы.
Каким прямым должно быть представление? Если вам нужно 1: 1 без слоя перевода, тогда сделают 5 бит. Но если уровень перевода является опцией, то вы можете избежать неприятностей. Например, код Морзе может сделать это в 3 битах. :)
Старые 5-битные телеграфные коды, представленные более чем 50 различными символами в 5 бит. Вы можете использовать тот же метод для кодирования алфавита всего за 4 бита. (Да, это обман ...) – Porculus
@Porculus - 4 бита было бы здорово, если бы двоичный был с плавающей точкой! (4.7 бит) – Bojangles
Хорошо спасибо всем. Я тоже получил 5 бит, но я думал, что это будет легко, но, видимо, я был прав. – agentbanks217