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

У меня на столе лежит книга «Справочник программиста. Том первый», выпущенная в 1963 году в Ленинграде Государственным союзным издательством судостроительной промышленности. В этой книге есть глава «Вычислительная машина «Сетунь». Из этой главы можно узнать, что машина «Сетунь» выполняет 5500 сложений или 3000 сложений в секунду, ввод данных осуществляется с бумажной перфоленты со скоростью 800 цифр в секунду, в качестве ОЗУ используются ферритовые сердечники, в качестве ПЗУ – магнитный барабан. 

Но не это главное. Самое интересное  –  это то, что в «Сетуни» для представления чисел используется не двоичная, а троичная система счисления! Вместо привычных битов используются триты!

Точнее, в «Сетуни» используется сокращенная троичная система счисления. Это значит, что тритами являются цифры -1, 0, 1. Цифра -1 кодируется символом 1. Операции сложения и умножения тритов задаются естественным образом: 

1 + 1 = 11,   1 * 1 = 1,   1 + 0 = 01,   1 * 0 = 0,   1 + 1 = 11,   1 * 1 = 1 и т.д.

Интересно, что произведение тритов укладывается в один трит, а сумма – нет.

Операции для отдельных тритов можно распространить на слова:

 

 1010011
+ 111111
       

11111010
   110110
  *  1011
         

   110110
  110110
 110110
         

111011010

Цитата: «Сравнение сокращенной троичной системы с двоичной показывает, что имеется ряд существенных отличий первой от второй. Так, например, в двоичной системе (в различных формах представления) знак числа фиксируется двоичным разрядом, в то время как в сокращенной троичной системе запись отрицательного числа не отличается от записи положительного и отсутствует необходимость в специальном знаковом разряде».

По информации Интернет разработкой машины «Сетунь» руководил Н.П. Брусенцов. Он предложил использовать троичную ферритодиодную ячейку. Этим возможно и объясняется выбор в «Сетуни» троичной системы счисления. Мне, однако, больше нравится другое объяснение, скорее всего неправильное.

Пусть b – основание системы счисления. Тогда для хранения целых чисел от 0 до N – 1 требуется log b N = ln N / ln b цифр (округление до ближайшего сверху целого опущено). Предположим, что стоимость хранения одной цифры прямо пропорциональна b. Для оптимизации стоимости хранения чисел следует выбирать основание b так, чтобы величина b / ln b принимала минимальное значение. Минимум достигается при b = e = 2.71828. Но b должно быть целым и следует выбрать между b = 2 и b = 3. Поскольку 2 / ln 2 > 3 / ln 3, троичная система счисления является наиболее экономичной!

Третий путь?

Новости
23.05.2017
XХII научно-практическая конференция «Комплексная защита информации»
31.03.2017
ITSecurity-2017
22.02.2017
Ввод в действие новой редакции СТБ 34.101.47
21.02.2017
План семинара весна 2017
20.01.2017
Итоги NSUCRYPTO-2016
24.10.2016
План семинара осень 2016
29.08.2016
Ввод в действие СТБ 34.101.77
15.06.2016
CTCrypt-2016
19.04.2016
Криптографические стандарты: планы на 2016 год