В теории кодирования «насколько хорош код» означает, сколько ошибок канала можно исправить, или, лучше сказать, максимальный уровень шума, с которым может справиться код.
Чтобы получить лучшие коды, коды разработаны с использованием большого алфавита (а не двоичного). И потом, код хорош, если он может обрабатывать большое количество ошибочных «символов».
Почему это не считается обманом? Я имею в виду, не должны ли мы заботиться только о том, что происходит, когда мы «переводим» каждый символ в двоичную строку? «Коэффициент ошибок по битам» отличается от уровня «ошибок по символам». Например, частота ошибок по битам не может превышать 1/2, в то время как (если я правильно понимаю), при достаточно большом алфавите, ошибка по символам может доходить до . Это потому, что мы искусственно ограничиваем канал, чтобы изменять только «символы», а не биты, или это потому, что код на самом деле лучше?