Что действительно удивительно и божественно для вдумчивого мыслителя, так это присущее всей природе раздвоение — отношение, наблюдаемое во всех числах и родах вещей.
Платон
Жила-была на свете тихая семейка: два брата-дегенерата, две сестрички-истерички, два племянника-шизофреника и два племянника-неврастеника.
Илья Ильф
Мы уже упоминали слово "бинарный", которое происходит от латинского слова "binaries", что означает "двойной", "двойственный". Следует заметить, что, как ни странно, "двоичность" гораздо важнее и первичнее, чем "единичность". Формально есть величины меньше двух, но в математике, в философии и в реальной жизни минимальной ячейкой является двоичная система.
"Маловато будет!" Александр Татарский
Выше мы выяснили, что с помощью одного бита информации можно закодировать только два разных значения (например, "да" или "нет").
Информацию об этом смотрите в разд. "Понятие бита" данной главы.
Но всем совершенно понятно, что для кодирования более разнообразных вариаций в какой-либо области знаний (например, даже обычного текста, не говоря уже о звуковой или цветовой информации) одного бита информации действительно "маловато будет". Такая информация требует резервирования гораздо большего количества кодов.
А для получения большего количества кодов, разумеется, единственный путь состоит в увеличении разрядности двоичного числа (его удлинении). Это заставляет вспомнить и применить позиционный метод записи чисел.
Например, для записи десятичного числа 10 003 955 используются пять цифр и восемь разрядов.
Если рассматривать самый общий случай, как это принято в математике, то можно утверждать, что, используя небольшое конечное количество цифр (не менее двух) и позиционный метод записи, можно получить бесконечное количество чисел.
Бит и кодовая таблица
После того как выяснилось, что импульсный сигнал — это совокупность двоичных чисел, необходимо рассмотреть, как создается кодовая таблица.
В данной главе вводится понятие минимальной единицы информации (1 бит), которая совпадает с двоичной системой счисления. Следует обратить особое внимание, что двоичная система счисления и главное понятие теории информации — бит — удачно совпадают по смыслу и по форме. На этой основе создается возможность, используя разрядности двоичных чисел, формировать определенные совокупности кодов (список кодов), которым ставится в соответствие совокупность значений (список значений). Таким образом формируется кодовая таблица, у которой могут быть самые разные значения (от чисел и букв до звуков и цветов). При этом важно осознать, что кодовая таблица является результатом определенного условного решения.
Если строго определены элементы алфавита и разрядность слов, получаемых с их помощью, то количество всех кодов можно вычислить, а следовательно, составить их перечень в форме кодовой таблицы.
Таким образом, в кодовой таблице представлено определенное количество строк и только два столбца:
Всем известно: Буква "Я"
В азбуке последняя.
А известно ли кому,
Отчего и почему?
Борис Заходер
Если выше мы определили, что код — это вообще система условных знаков, то алфавит — это перечень элементов данной кодовой системы.
Информацию об общем представлении кода смотрите в главе 4.
В общем случае, конечно, алфавит может включать самые произвольные элементы — это могут быть буквы, цветы, "лампочки" и пр. Даже тучка как знак дождя в нашей привычной метеорологической системе представлений. Но такое состояние присуще хаотическому мышлению, которым обладают дети и иногда характеризуются отдельные творческие индивидуумы.
В действительности же человечество формирует системные представления об окружающем мире. Причем, очень многие элементы этой системы являются знаками. Знаки бывают естественными и искусственными.
Естественные системы связаны с закономерностями, которые открыты и описаны физикой, химией, биологией, геологией и другими точными науками, а также дополнены эмпирическими наблюдениями о природе.
Искусственные системы целиком создаются людьми. Скажем, к искусственным можно отнести знаки письменности, пиктограммы, сигналы дорожного движения и многое другое.
Кодирование — это операция отождествления двоичных чисел с дискретными значениями какой-либо предметной области.
А что касается правого столбца, то здесь, как говорится, необходимо договариваться. Когда же речь заходит о всевозможных системах кодирования, то это всегда — определенные договоренности.
Бит — это минимальное количество информации, составляющее выбор одного из двух возможных вариантов. Когда создается возможность дать ответ на любой вопрос "да" или "нет", то это и есть один бит информации, т. е. в этом случае меньше бита информации не бывает.
Таким образом, бит — это своеобразный атом информации.
Разряд в арифметике — это место, занимаемое цифрой при записи числа. Например, в десятичной системе счисления цифры первого разряда — это единицы, второго разряда — десятки и т. д.
Но арифметические законы, которые кажутся привычными в десятичной системе счисления, все без исключения действительны и для двоичной системы счисления. Двоичные числа также можно складывать, вычитать, перемножать и делить с использованием тех же приемов школьного курса арифметики. Отличие заключается только в том, что используются всего две цифры.
Кроме того, как мы уже выяснили, в двоичной системе счисления каждый разряд — это бит и его значение зависит от позиции и равно соответствующей степени числа "2".
Разрядность двоичного числа — это количество знакомест (разрядов) или количество битов, заранее отведенных для записи числа.
Двоичное слово— последовательность битов, рассматриваемых как единое целое, имеющая определенное смысловое значение (в соответствующем кодовом алфавите).
Кодовый алфавит — это минимальный перечень элементов.
Такое определение допускает, что в общем случае алфавит может содержать самые произвольные и, что характерно, никак не связанные друг с другом элементы.
Действительно, алфавиты, которые формировались в течение исторически длительного периода, чаще всего не идеальны, особенно это касается буквенно-фонетических алфавитов. В частности, они имеют неоправданные повторения и противопоставления очень близких звуков и т. п. Поэтому время от времени предлагаются всевозможные реформы письменности.
И тем не менее, можно выявить, что у алфавита существует одно неизбежное свойство: количество элементов алфавита, как правило, в течение определенного исторического периода конечно.
Кодовая таблица — это совокупность цифровых (двоичных) кодов и их значений.
Стоит обратить внимание на то, что до сих пор мы оперировали цифрами и числами, получаемыми из этих цифр при помощи позиционной системы записи. Теперь оказалось, что на самом деле это — только половина кодовой таблицы. О второй половине кодовой таблицы поговорим ниже.
Информацию о значениях кодовой таблицы см. в разд. " Значения кодовой таблицы" данной главы.
А пока поговорим о построении кодовой таблицы.
Первая проблема, которую нам предстоит решить, заключается в том, чтобы определить количество строк, т. е. мы сначала должны задаться количеством разрядов, как это выяснилось в предыдущем разделе. Но возникает следующий вопрос: а чем это определяется, какой необходимостью?
Прежде всего, мы должны располагать предварительной информацией о количестве значений, которое нам предстоит кодировать. Если мы собрались кодировать только два значения, например "да" и "нет" или "черное" и "белое" (кстати, вполне реальная задача), т. е. такую информацию, которая состоит из двух сообщений, то потребуется всего один разряд (один бит), а соответствующая кодовая таблица (табл. 5.4) будет состоять из двух строк.
Таблица 5.4. Кодовая таблица для двух значений
Двоичные коды |
Значения кодов |
||
0 1 |
"Да!" "Нет!" |
||
Простота этой таблицы определяется тем, что в ней используются только элементы кодового алфавита. Если значений, которые надо кодировать, оказывается больше, чем два, то в этом случае элементы алфавита составляются в "слова", длина которых определяется разрядностью.
Например, если для кодирования требуется добавить значение, которое обычно присутствует в анкетах "Не знаю!", то одного разряда окажется недостаточно. Мы уже эту ситуацию обсуждали и знаем, что необходимо задействовать два разряда (табл. 5.5).
Информацию о расчете количества кодов см. в разд. "Расчет количества кодов " данной главы.
Таблица 5.5. Кодовая таблица для трех значений
Двоичные коды |
Значения кодов |
||
00 01 10 11 |
"Да!" "Нет!" "Не знаю!" не используется |
Человек не знал двух слов — "да" и "нет". Он отвечал туманно: "Может быть, возможно, мы подумаем".
Илья Ильф
Двоичность бытия, на которую справедливо указывала философская мысль, начиная с самых древних времен, воплотилась в области информатики и компьютерных технологий в короткое, но фундаментально емкое понятие - бит (bit). Изначально это понятие появилось в теории информации, а теперь стало широко известным.
Но ведь возможна и другая точка зрения, когда важнее, чтобы лампочка не горела. Любители отечественной киноклассики могут вспомнить, что в фильме "Бриллиантовая рука" как раз такая ситуация: незадачливым жуликам требовалось, чтобы погас свет в одном из номеров гостиницы "Атлантик", это был знак к началу операции. Таким образом, для них более значимым сигналом (знаком) было не горение лампочки, а, наоборот, отсутствие света.
Можно привести и массу других примеров, в которых одно и то же действие или один и тот же знак (код) имеют совершенно разные значения.
Обратимся снова к табл. 5.4. Почему "нулю" мы поставили в соответствие значение "Да!", а "единице" — значение "Нет!"? Есть ли в этом какая-либо неизбежная логика?
Самый общий принцип заполнения столбца кодовой таблицы, который называется "значения", можно сформулировать так: он заполняется произвольной информацией в произвольном порядке!
Вместе с тем, ситуацию нельзя доводить до абсурда, например устанавливать договоренность о способах пересечения каждого отдельного перекрестка. Разумеется, что договоренности, которые затрагивают огромное количество участников, стараются стандартизировать. Те же правила дорожного движения являются международными.
Скажем, когда вы звоните по телефону и на вопрос "Коля (или Оля) дома?" обычно отвечают одним битом информации, т. е. "да" или "нет" (впрочем, в зависимости от времени суток, могут, конечно, ответить и более развернуто, но это уже выходит за рамки теории информации).
По отношению к информации в бытовом смысле ("Коля (или Оля) дома!") информация в битовом измерении (1 бит) является такой же абстракцией, как число по отношению к конкретным предметам.
Причем, если кого-то волнует, как же мы отказываемся от качества информации (сообщения), а измеряем ее сугубо абстрактно, то это обычный способ наук и технологий. Можно вспомнить аналогичные случаи из школьной математики.
Разрыв тока в цепи используется для сигнализации в мелких торговых предприятиях или офисах. Если сигнальная лампочка горит, это свидетельствует о том, что объект в сохранности...
Говоря математически, отвлекаясь от качественного содержания (магазинов, грабителей и пр.), можно сказать, что с помощью одной лампочки (одного разряда или одного бита) удается кодировать два значения, например "ноль" или "единицу" (рис. 5.1).
В алфавите светофора всего три элемента, которые представлены разными цветами — красным, желтым, зеленым. Другие их различия роли не играют. В совокупности три элемента составляют кодовую систему, или кодовый алфавит. И, если мы знаем этот алфавит, то мы ему следуем или не следуем (то есть нарушаем со всеми вытекающими последствиями: от штрафа до угрозы жизни).
Можно представить двоичные разряды в виде ячеек, входящих в состав слова-"ящика". Эти ячейки не могут быть пустыми, они должны получить какое-то значение, в данном случае "0" или "1".
Код "11" обязательно присутствует в таблице, хотя и не используется в данном случае, но, кто знает, может быть, этому коду в другой ситуации найдется достойное применение.
Резюме
В компьютерных технологиях основополагающую роль играет понятие бита. Последний определяется как минимальное количество информации, равное наличию или отсутствию сигнала. Использование бита обеспечивает количественное измерение информации.
Двоичная система счисления идеально совпадает с понятием бита. Это дает возможность передавать информацию одновременно с ее учетом.
Любое двоичное число — это совокупность битов, а каждый бит — это один разряд, значение которого зависит от позиции и равно соответствующей степени числа "2".
Разрядность двоичного числа — это количество знакомест, количество разрядов, количество битов, заранее отведенных для записи числа, что обеспечивает определенный набор возможных двоичных чисел, которые могут служить кодами.
Двоичное слово — последовательность битов, рассматриваемых как единое целое. Слово имеет определенное, хотя и произвольное, значение (в соответствующем кодовом алфавите).
Количество разрядов n, необходимых для обеспечения N кодов, можно вычислить по формуле: n=logN.
Кодовый алфавит — это минимальный перечень элементов. Алфавит характеризуется стабильностью состава в течение определенного исторического периода.
Кодовая таблица — это совокупность кодов и их значений. Длина кодовой таблицы может быть произвольной, но ограничивается возможностями технической реализации.
Значение кода не является законом природы — это всякий раз результат условности, результат договоренности заинтересованных сторон. Значимые для человечества или большой группы людей кодовые таблицы приобретают статус стандартов.
В общем случае, кодовая таблица может включать любое содержание, если мы сумеем его подготовить к кодированию. Вопрос состоит в том, как готовить аналоговую информацию к кодированию. В главе 6 будет рассмотрено преобразование абстрактного сигнала, а в последующих главах части III речь пойдет об особенностях преобразования изобразительной информации.
Рассмотрев выше подробно формальные (математические) основы построения кодовых таблиц, необходимо обратиться к "плану содержания" и поставить вопрос: каким общим качеством должны обладать те значения, которые мы собираемся кодировать? Условие это единственное и необходимое. Без него нельзя начать процесс кодирования. Но об этом мы поговорим уже в следующей главе.
"Ой, теперь он и тебя сосчитал!" — заскулил Теленок.
Альф Прейсен
Эту задачу по расчету количества кодов стоит обсудить подробнее, поэтому с целью упрощения моделируем ситуацию кодирования чисел с помощью электрических лампочек. Каждая лампочка представляет собой разряд двоичного числа.
В предыдущем разделе мы рассмотрели возможность расчета количества кодов, если известно количество разрядов. Но что делать, если известно количество требуемых кодов и необходимо определить количество разрядов?
Вернемся к моделированию с помощью лампочек и представим себе, что требуется отображать на каком-либо табло, скажем, 12 двоичных сигналов. Для этого необходимо рассчитать, какого минимального количества лампочек достаточно, чтобы обеспечить передачу этих сигналов.
Обратимся к табл. 4.6 и выпишем ряд десятичных чисел, которые равны "круглым" двоичным числам. В этот ряд входят следующие десятичные числа: "2", "4", "8", "16", "32", "64", "128", "256", "512" и, наконец, сакраментальное "1024". Все эти числа представляют ряд последовательных степеней числа "2". Каждое из названных чисел чрезвычайно активно используется в компьютерных технологиях. Читатель, видимо, убеждался в этом не один раз.
Мы оперируем каким-либо двоичным числом, а любое двоичное число — это совокупность битов, т. е. "1" и "О". Отсюда получается, что каждый бит — это один разряд или одна позиция в двоичном числе.
Теперь усложняем задачу: используем два разряда, или, в нашей "научной" терминологии — две лампочки. Сколько сигналов, или кодов, мы можем с их помощью обеспечить?
Это зависит от того, сколько комбинаций (битовых "слов") мы можем составить.
Таблица 5.1. Количество кодов, создаваемых тремя двоичными разрядами
Номер по порядку |
Двоичный код |
Номер по порядку |
Двоичный код |
||
1 |
000 |
5 |
100 |
||
2 |
001 |
6 |
101 |
||
3 |
010 |
7 |
110 |
||
4 |
011 |
8 |
111 |
||
В результате получилось восемь кодов, которые представляют диапазон от "все лампочки потушены" до "все лампочки горят".
Мы не зря использовали условные обозначения для лампочек ("ноль" и "единицу"), ведь по сути дела нам требовалось написать двоичные числа, которые являются кодами десятичных чисел от "О" до "7". Для этого требуется два двоичных разряда.
Можно продолжить наращивание количества разрядов и составить таблицу кодов для четырех двоичных разрядов (табл. 5.2).
Таблица 5.2. Количество кодов, создаваемых четырьмя двоичными разрядами
Номер по порядку |
Двоичный код |
Номер по порядку |
Двоичный код |
||
1 |
0000 |
9 |
1000 |
||
2 |
0001 |
10 |
1001 |
||
3 |
0010 |
11 |
1010 |
||
4 |
0011 |
12 |
1011 |
||
5 |
0100 |
13 |
1100 |
||
6 |
0101 |
14 |
1101 |
||
7 |
0110 |
15 |
1110 |
||
8 |
0111 |
16 |
1111 |
||
В результате получилось шестнадцать кодов, которые также представляют диапазон от "все лампочки потушены" до "все лампочки горят", т. е. десятичные числа от "О" до "15".
Полагаем, что дальше продолжать нет необходимости: принцип получения кодов, кажется, ясен, и теперь можно составить таблицу (табл. 5.3) зависимости между количеством двоичных разрядов (битов) и количеством кодов, которые можно получить с их помощью.
Таблица 5.3. Количество разрядов и количество кодов
Количество разрядов двоичного числа |
Количество кодов |
Количество разрядов двоичного числа |
Количество кодов |
||
1 |
2 |
6 |
64 |
||
2 |
4 |
7 |
128 |
||
3 |
8 |
8 |
256 |
||
4 |
16 |
9 |
512 |
||
5 |
32 |
10 |
1024 |
||
Обратите внимание на то, что каждое последующее количество кодов больше предыдущего в два раза. Это означает, что количество разрядов является степенью при основании "двойки". Если значение степени равняется количеству разрядов, то общее количество кодов можно вычислить по чрезвычайно простой формуле:
N=2n, где N — это количество кодов, а n — количество двоичных разрядов.
С помощью приведенной формулы всегда можно определить, сколько потенциальных кодов получается в случае использования определенного количества разрядов.
Не стоит забывать, что эти рассуждения интересуют нас исключительно в связи с компьютерными технологиями, т. к. каждый разряд требует аппаратного размещения. Отсюда можно поставить обратную задачу: как рассчитать количество разрядов, если известно количество кодов, которое необходимо обеспечить для кодирования известной совокупности данных.
Но далеко не всегда такая договоренность имеет место или правильно понимается, огромное число проблем возникает именно из-за того, что "кто-то кого-то не так понял". Иногда это случайные ситуации, а иногда и преднамеренная дезинформация в форме "непонятой условности".
Только в том случае информация, которая имела место на входе в линию связи, будет соответствовать информации на выходе с линии связи, если на входе и выходе используется одна и таже таблица кодирования. Если же в примере с кодированием четырех ахроматических цветов на входе и выходе будут использованы различные таблицы, то в результате мы получим весьма превратное представление об исходной информации.
Кодирование четырех ахроматических цветов описано в главе 7.
Слово "дихотомия" происходит от греческого "dichotomia", что означает "разделение надвое" (на две эквивалентные, но противоположные части), а отсюда "дихотомическое деление на пары" означает способ классификации, когда два множества, понятия, термина относятся к одному явлению, но при этом противоположны, например "плюс" и "минус" в электричестве. Философские школы давно создавали систему мироздания, используя дихотомические пары, например "огонь" и "земля" — это первоэлементы в элейской философской школе (Парменид), "янь" и "инь" — это начала бытия в древнекитайской философии (даосизм), "дружба" (притяжение) и "вражда" (отталкивание) — это противоборствующие силы в теории Эмпидокла. Современные теории также зачастую строятся на базе дихотомии, например "материальное" и "идеальное", "экстраверсия" и "интроверсия" (К. Юнг), "субъект" и "объект", "дискретное" и "континуальное", "анализ" и "синтез".
Поэтому и первичный элементарный алфавит должен состоять, как минимум, из двух элементов. Это фундаментальное свойство нашло свое отражение в понятии бита.
Теория информации (от латинского слова "informatio", что значит "ознакомление", "разъяснение") — это область научных знаний, которая развивалась с давних времен, но получила в настоящее время более широкое и всеобъемлющее значение благодаря развитию кибернетики. В кибернетике информация используется как одно из центральных понятий в одном ряду с понятиями связи и управления. А поскольку все эти понятия используются в компьютерных технологиях, они имеют не только научно-мировоззренческий статус, но и сугубо практический, а именно переход из качественной трактовки к количественным измерениям. Это вызвано тем, что в естественно-научных областях приняты разнообразные системы измерений (в гуманитарных науках измерение тоже существует, но носит второстепенный характер, например размер в поэзии, такты в музыке).
Как в теории информации, так и в компьютерных технологиях, построенных на фундаменте теории информации, основополагающую роль в этом как раз играет понятие бита.
"Бит" — слово искусственное и представляет собой сокращение от английских слов binary digit, что означает парадоксальное сочетание "двоичная единица", а в русский язык оно перешло простой транслитерацией.
Транслитерация происходит от двух латинских слов "trans", что означает "через", и "lit(t)era" — "буква". С помощью транслитерации обеспечивается передача слов или текста одного алфавита, в данном случае английского, средствами другого алфавита, в данном случае русского. Часто используется при передаче имен собственных или терминов.
Исходя из определения понятия "бит", минимальное количество информации — это ответ на любой вопрос, который имеет только один из двух ответов: "да" или "нет". Один бит информации — это утвердительный или отрицательный ответ на вопрос, требующий только "да" или "нет". Подчеркнем: именно или.
Кстати, слово "ноль" происходит от латинского слова "nullus", что переводится как "никакой". Оно действительно мало, что значит, только в одном случае: от прибавления (или вычитания) ноля к любому числу последнее не меняется. Зато ноль всемогущ в умножении: произведение любого числа на ноль дает ноль, а деление на ноль вообще невозможно. Последнее свойство вызывает фатальную ошибку в работе компьютера, если программист не предусмотрел специальную защиту.
И в этой связи обнаруживается, что двоичная система счисления, которая подробно обсуждалась выше, идеально совпадает с понятием бита в теории информации. Сколько передается "ноликов" или "единичек" — столько передается битов информации (современные объемы характеризуются объемами в килобайтах, мегабайтах, гигабайтах и даже терабайтах).
Информацию о двоичной системе счисления смотрите в разд. "Двоичная система счисления" данной главы.
А поскольку один бит и единицы двоичной системы счисления удачно совпали, это дает возможность передавать информацию, одновременно ее учитывая.
Логарифм данного числа N при основании а является показателем степени у, в которую нужно возвести число а, чтобы получить N, т. е. N = ау.
Такой логарифм обозначается обычно как logаN, а равенство у = !одах определяет логарифмическую функцию. Основные свойства логарифма позволяют заменить умножение, деление, возведение в степень и извлечение корня более простыми действиями сложения, вычитания, умножения и деления, т. к. при умножении степени складываются, при делении — вычитаются и т. д.
Логарифмы открыты шотландским математиком Дж. Непером и швейцарским математиком И. Бюрги в начале XVII века. Термин "логарифм" возник из греческих слов "logos", что означает "соотношение", и "arithmos" — "число".
Значения кодовой таблицы определяются логикой предметной области.
Значение кода не является законом природы — это всякий раз результат условности, результат договоренности в определенных сферах общества.
Бит— это абстрактное понятие, которое обеспечивает количественное измерение информации, доступное компьютерным системам.
Математически нам проще всего "битовую информацию" описывать числовыми методами, а именно двоичными числами, которые составляются из цифр "0" и "1".
Совпадение единицы информации "бит" и двоичной системы счисления обеспечивает возможность передачи информации одновременно с ее учетом.
С помощью конечного количества цифр (не менее двух) и позиционного метода записи можно отображать бесконечное количество чисел.
Но у двоичных чисел, поскольку они применяются в компьютерных технологиях, есть одна особенность: двоичные числа, как правило, формируются с фиксированной разрядностью. Такая совокупность разрядов получила название "слов".
Таким образом, мы выяснили, что для передачи определенного количества кодов (сигналов и чего угодно) необходимо выбрать число двоичных разрядов, равное степени, в которую необходимо возвести число "2", чтобы получить число, соответствующее количеству кодов или слегка превышающее его.
В приведенных выше примерах мы специально выбирали такие числа ("12" или "10"), у которых получается определенный избыток двоичных разрядов. Конечно, разумнее всего так подобрать количество кодов, чтобы они требовали соответствующего количества разрядов. Но это возможно только в том случае, если коды создаются произвольно.
К сожалению, так получается не всегда. Чаще всего ситуация не позволяет изменять количество кодов, например нельзя изменить количество букв алфавита.
Алфавит характеризуется стабильностью состава в течение определенного исторического периода.
Пример
Элементами математического алфавита являются цифры и математические знаки. Для компьютерных технологий из всего этого многообразия остались только два элемента — "0" и "1".
Из элементов кодового алфавита составляются более развернутые сообщения ("слова"). Разрядность — это как раз длина "слов". В обычном языке слова сосчитать нельзя, поскольку их бесконечное количество. Если же известно и строго фиксировано количество элементов, а также известна и строго фиксирована длина слов (разрядность), то количество слов также предсказуемо.
Длина кодовой таблицы может быть произвольной, т. к. она определяется объемом информации, которая требует кодирования, но может быть ограничена возможностями технической реализации.
Расчет длины кодовой таблицы составляет практически половину всей процедуры ее построения. Теперь большее внимание следует обратить на вторую часть кодовой таблицы, которая определяет значения каждого кода.
Таблица 5.6. Кодовая таблица для четырех ахроматических цветов
Двоичные коды |
Значения кодов |
||
00 |
Белый цвет |
||
01 |
Светло-серый цвет |
||
10 |
Темно-серый цвет |
||
11 |
Черный цвет |
||
Ужас бытия человеческого состоит в том, что ничто существенное не вытекает ни из каких правил, ни из каких законов, оно должно быть конкретно, вот здесь установлено и понято.
Мераб Мамардашвили
В примерах кодовых таблиц, которые мы до сих пор использовали, например табл. 5.5, главное внимание было обращено, прежде всего, на количественную сторону. Теперь настало время рассмотреть качественную сторону кодирования: каким образом поставить в соответствие каждому коду (или каждому двоичному числу) определенные значения из самых разных областей знания.
По сути дела это и есть основополагающая задача при разработке кодовой таблицы — поставить в соответствие друг другу список двоичных чисел (они имеют вполне стандартный вид) и список значений (выделение и сортировка которых чаще всего носят нетривиальный характер).
Нетривиальность вызывает множество вопросов. Какими принципами следует руководствоваться при заполнении правой части кодовой таблицы? Каким образом формируется совокупность значений и в каком порядке они распределяются?
Вспомним наши "эксперименты" с лампочками. В самом деле, когда лампочка не горит — это можно счесть "нулевым значением", а когда горит, то, само собой разумеется, -- "единичным".