Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОДМ-1.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
2.59 Mб
Скачать
    1. Код Грея

Помимо двоичных чисел на практике применяются и другие коды, использующие два знака: 0 и 1. В этом разделе мы познакомимся с кодом Грея. При сортировке данных естественным представлением является обычное целочисленное описание, поскольку среди десяти цифр каждая на 1 больше предыдущей. При переходе к двоичному описанию эта естественность исчезает. Рассмотрим битовое представление чисел 6, 7, 8 и 9:

0110 0111 1000 1001.

Числа 6 и 7, а также 8 и 9 отличаются друг от друга на один бит. Однако числа 7 и 8 не имеют между собой ничего общего! Это свойство представления может вызвать большие проблемы при решении задач, требующих систематизации числовых данных. Для решения проблемы неоднородности представления используется код Грея.

Код Греясистема нумерации, в которой два соседних значения различаются только в одном разряде.

Код Грея показан в третьем столбце табл. 2.1. Наиболее часто на практике применяется рефлексивный двоичный код Грея, хотя в общем случае существует бесконечное множество кодов Грея для систем счисления с любым основанием. В большинстве случаев, под термином «код Грея» понимают именно рефлексивный бинарный код Грея. Название рефлексный (отражённый) двоичный код происходит от факта, что вторая половина значений в коде Грея эквивалентна первой половине, только в обратном порядке, за исключением старшего бита, который просто инвертируется. Если же разделить каждую половину ещё раз пополам, свойство будет сохраняться для каждой из половин половины и т.д.

Код Грея был разработан Фрэнком Греем, исследователем Bell Labs. Он использовал этот код в своей импульсной системе связи (на него был получен патент № 2632058).

При преобразовании бинарного кода в десятичное число мы умножаем ноль или единицу на , где – номер позиции бита в бинарном коде ( ; и т.д.), а затем суммируем полученные результаты.

При преобразовании кода Грея в десятичное число мы умножаем ноль или единицу на ( ), где – номер позиции бита в коде Грея ( ; и т.д.). Дальше вычитаем из результата, соответствующего старшей единице, результат, соответствующий единице меньшего разряда, прибавляем результат, соответствующий единице еще более меньшего разряда и т.д. (смотри последний столбец табл. 2.1).

    1. Троичная система счисления

Троичная система счисления – позиционная система счисления с целочисленным основанием равным 3. Она существует в двух вариантах: несимметричная и симметричная троичные системы. Несимметричная система обычно использует символы: 0, 1 и 2. Симметричная: –1, 0, +1. В табл. 2.3 показаны десятичные числа и соответствующие им числа в троичной системе счисления.

Таблица 2.3

Десятичная

-3

-2

-1

0

1

2

3

4

5

6

7

8

9

Троичная

несимметричная

-10

-2

-1

0

1

2

10

11

12

20

21

22

100

Троичная

симметричная

11

100

Элементы троичной системы существовали еще у древних шумеров. Полноценную симметричную троичную систему впервые предложил итальянский математик Фибоначчи (Леонардо Пизанский) (1170–1250). Симметричная троичная система позволяет изображать отрицательные числа, не используя отдельный знак минуса.

В момент зарождения компьютерной техники троичная система составляла серьезную конкуренцию двоичной системе. Ее преимущество заключается в том, что она обеспечивает наибольшую плотность записи чисел по сравнению с другими целочисленными системами. Поясним это на следующем примере.

Предположим, что в компьютере мы используем числа в позиционной системе с целочисленным основанием . При этом каждое число имеет максимум разрядов. Значит, для сохранения числа в памяти компьютера требуется ячеек памяти, причем каждая ячейка должна быть способна находиться в состояниях. Аппаратные затраты составляют: .

Используя систему с основанием и разрядов, мы способны представить различных чисел. Эффективность применяемой в компьютере системы счисления можно оценить с помощью следующего числового критерия:

. (2.3)

Чем больше чисел мы можем представить в данной системе счисления, и чем меньше при этом аппаратные затраты, тем эффективнее система по данному критерию.

Чаще критерий эффективности используют в такой форме

. (2.4)

Практически критерий (2.4) равнозначен критерию (2.3), однако удобнее в использовании. Равнозначность основана на факте: если , то . График функции показан на рис. 2.1.

Рис.2.1. График функции

Эта функция имеет максимум для . При целых значениях максимум достигается для = 3.

;

;

;

.

Таким образом, наиболее эффективной по критерию (2.4) является троичная система счисления (используемая в троичных компьютерах), следом за которой идут двоичная система счисления (традиционно используемая в большинстве распространённых компьютеров) и четверичная система счисления.

В 1958 году Николай Петрович Брусенцов из МГУ построил первую серийную электронную троичную ЭВМ «Сетунь» на ячейках из ферритдиодных магнитных усилителей переменного тока, работавших в двухбитном троичном коде, четвёртое состояние двух битов не использовалось. В 1970 году Брусенцов построил вторую серийную электронную троичную ЭВМ «Сетунь-70».

В 1973 году в США впервые был создан экспериментальный троичный компьютер, а в 2008 году там же была построена троичная цифровая компьютерная система TCA2 на 1484-х интегральных транзисторах.

Тем не менее, в настоящее время двоичные компьютеры доминируют в компьютерной технике благодаря своей простоте и высокой надежности.