Журнал удивительных идей


Совместный проект учителей и учеников 192 школы







Анекдот в тему

Разговаривают два программиста:

 – Как быстро возвести число в степень?

 – Сдвигом! (2<<n)

 – А теперь про степень тройки, если ты такой умный ..

 – Очень просто! Покупаем машину "Сетунь" или "Сетунь-70"...

из телеконференции
RU.ALORITHMS

Преимущества троичной системы счисления

Статья Брусенцова Н.П, создателя "Сетуни", ЭВМ работающей на троичной логике. Рекомендуем вам так же почитать его интервью компьютерному журналу Upgrade.

Главное преимущество троичного представления чисел перед принятым в современных компьютерах двоичной состоит не в иллюзорной экономности троичного кода, а в том, что с тремя цифрами возможен натуральный код чисел со знаком, а с двумя невозможен. Несовершенство двоичной арифметики и реализующих ее цифровых машин обусловлено именно тем, что двоичным кодом естественно представимы либо только неотрицательные числа, либо только неположительные, а для представления всей необходимой для арифметики совокупности - положительных, отрицательных и нуля - приходится пользоваться искусственными приемами типа прямого, обратного или дополнительного кода, системой с отрицательным основанием или с цифрами +1, -1 и другими ухищрениями.

В троичном коде с цифрами +1, О, -1 имеет место естественное представление чисел со знаком (так называемая симметричная, уравновешенная или сбалансированная система), и "двоичных" проблем, не имеющих удовлетворительного решения, просто нет. Это преимущество присуще всякой системе с нечетным числом цифр, но троичная система самая простая из них и доступна для технической реализации.

Арифметические операции в троичной симметричной системе практически не сложнее двоичных, а если учесть, что в случае чисел со знаком двоичная арифметика использует искусственные коды, то окажется, что троичная даже проще. Операция сложения всякой цифры с нулем дает в результате эту же цифру. Сложение +1 с -1 дает нуль. И только сумма двух +1 или двух -1 формируется путем переноса в следующий разряд цифры того же знака, что и слагаемые и установки в текущем разряде цифры противоположного знака. Пример:

111011101010
+
111011110100

101110011110

В трехвходном троичном сумматоре перенос в следующий разряд возникает в 8 ситуациях из 27, а в двоичном - в 4 из 8. В троичном сумматоре с четырьмя входами перенос также происходит только в соседний разряд.

Операция умножения еще проще: умножение на нуль дает нуль, умножение на 1 повторяет множимое, умножение на -1 инвертирует множимое (заменяет 1 на -1, а -1 на 1). Инвертирование есть операция изменения знака числа.

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

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

М
а
т
е
м
а
т
и
к
а
Ф
и
з
и
к
а
Х
и
м
и
я
Б
и
о
л
о
г
и
я
И
н
ф
о
р
м
а
т
и
к
а