Видео: Кодирование информации Двоичное кодирование Единицы измерения информации
В физическом мире любая информация должна быть как-то представлена. Читая любую статью (книгу, отзыв, заметку), опубликованную в интернете или отпечатанную на бумаге, мы воспринимаем текст и картинки. Изображение, которое мы видим, фокусируется на сетчатке наших глаз, в виде электрических сигналов передаётся в мозг, который распознаёт знакомые символы и таким образом получает информацию. В каком виде эта информация остаётся в нашей памяти – в виде образов, логических схем или чего-то ещё – может зависеть от обстоятельств её получения, поставленной цели и конкретного способа осмысления. Компьютерная техника более ограничена и работает с потоком нулей и единиц (так называемое двоичное кодирование информации).
Видео: Представление чисел и любой информации в компьютере. Цифровой Майнкрафт [5]
Двоичная система счисления, положенная в основу всей вычислительной техники, была выбрана исторически. Ещё в эпоху создания первых ламповых компьютеров инженеры задумались, как можно произвести кодирование информации, чтобы цена всего аппарата оказалась минимальной. Поскольку у электронной лампы возможны два режима действия – пропускает ток, блокирует его, двойка в основе системы исчисления казалась наиболее рациональной. При переходе к полупроводниковым устройствам этот вывод можно было пересмотреть, но инженеры пошли по накатанному пути, сохранив двоичную логику всё более совершенствующимся вычислительным машинам. Тем не менее физика полупроводников допускает и троичное кодирование информации в компьютере: кроме отсутствия заряда (троичный нуль), возможно наличие как положительного (+1), так и отрицательного (-1), что и соответствует трём возможным значениям трита – элементарной ячейки памяти. То же самое можно сказать и об электрическом токе: прямое либо обратное направление или же отсутствие тока вообще (тоже три значения).
Выбор троичной системы счисления автоматически решил бы проблему кодирования отрицательных чисел, которая в двоичной системе решается введением так называемого инвертирования с учётом первого бита как знакового. О премудростях этой операции для двоичной системы много написано как в интернете, так и в литературе по языку Assember. В случае же троичной логики число могло бы записываться, к примеру, таким образом: «+00–0+0+–». Здесь «+» – экономная запись значения «+1», «–» соответственно – «-1», ну а ноль говорит сам за себя. При переводе на человеческий язык получилось бы следующее: +3^8 + 0 + 0 – 3^5 + 0 + 3^3 + 0 + 3^1 – 3^0 = 6561 – 243 + 27 + 3 – 1 = 6347. Преимущества троичной логики проявились бы и при работе с самыми разнообразными данными: если на некий вопрос предполагается односложный ответ, то двоичный бит может нести в себе один их двух ответов («да» либо «нет»), тогда как троичный трит – уже из трёх («да», «нет», «не определено»). Опытные программисты помнят, как часто нужно хранить один ответ именно из трёх возможных, поэтому для неопределённого значения приходится что-то выдумывать, к примеру – вводить в систему дополнительный параметр (двоичный): была ли она полностью определена к текущему моменту времени.
Видео: Двоичное кодирование числовой информации
Двоичное кодирование информации неудобно и для работы с графическими изображениями. Человеческий глаз воспринимает три разных цвета: синий, зелёный и красный, в итоге каждый графический пиксель кодируется четырьмя байтами, из которых три указывают на интенсивность базовых цветов, а четвёртый считается резервным. Такой подход заведомо снижает эффективность компьютерной графики, но пока ничего лучше предложено не было.
С математической точки зрения троичный компьютер должен быть наиболее эффективным. Строгие выкладки достаточно сложны, но их результат сводится к следующему утверждению: эффективность вычислительной техники тем выше, чем ближе её родная система счисления к числу е (приблизительно равному 2,72). Легко видеть, что тройка к числу 2,72 значительно ближе, чем двойка. Остаётся надеяться лишь на то, что однажды инженеры, ответственные за выпуск электроники, обратят своё внимание на троичную систему счисления. Быть может, это и станет тем прорывом, после которого будет создан искусственный интеллект?