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

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

Третий путь?

Новости
21.10.2024
Создание сектора КБ
07.05.2024
Защита диссертации
07.03.2024
План семинара весна 2024
12.02.2024
Единый день голосования
24.10.2023
II Международная научная конференция
26.05.2023
XХVIII научно-практическая конференция
28.04.2023
TIBO 2023
02.01.2023
Программный комплекс ЭАДП
27.12.2022
С Новым годом!