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

У меня на столе лежит книга «Справочник программиста. Том первый», выпущенная в 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, троичная система счисления является наиболее экономичной!

Третий путь?

Новости
24.02.2020
План семинара весна 2020
20.10.2019
План семинара осень 2019
01.10.2019
XII Международная научная конференция
18.04.2019
Школа по компьютерным наукам
18.04.2019
Computer Science Summer
01.04.2019
AgatCTF-2019
07.03.2019
CDAM’2019
04.03.2019
План семинара весна 2019
12.09.2018
План семинара осень 2018