В двоичной системе берёшь ячейку и смотришь: если там единица, то соответствующую степень двойки надо добавить к общей сумме. В случае с троичной системой если в ячейке плюс, то степень тройки необходимо добавить, а если минус, то вычесть. И соответственно там может лежать и отрицательное число, и положительное, и нулевое. Здесь очень интересно проявляется особенность, которая есть во всех уравновешенных системах счисления — у них наилучшее округление. Не нужно никаких специальных алгоритмов для того, чтобы округлить число, достаточно просто отбросить ненужные знаки, и в оставшихся разрядах автоматически получится лучшее приближение числа.
Уравновешенное троичное представление имеет интересную особенность: поскольку оно уравновешенное, то содержит как положительные, так и отрицательные значения. То есть можно в некоторых алгоритмах добиться существенного прироста, например при сжатии. Здесь не нужно всегда только увеличивать словарь — в какой-то момент его можно и уменьшать. Это тоже даст небольшой выигрыш. Результат сжатия файла будет поменьше, чем у двоичного с тем же самым алгоритмом.
- Говорят ещё про удачное применение в механике, где троичный разряд описывает не только наличие тока, но и направление вращения ротора.
- Да, по своей природе уравновешенная троичная система исчисления позволяет обозначить одним разрядом не только включение и выключение мотора, но и включение со вращением в одну сторону и включение со вращением в другую сторону. Например, минус один — налево, плюс один — направо, ноль — не крутить вообще. Это удобнее, чем в двоичной системе, где сначала надо задать направление, а потом включить двигатель. На одно действие меньше.
- Если бы сегодня было возможно создать троичные процессоры, в какой области они пригодились бы?
- Это, прежде всего, обработка статистической информации. Там математика, где требуется работа с большими числами с высокой точностью. В принципе, никто не мешает сделать троичную машину, где будет неограниченное количество разрядов в числе, и оперировать с ней будет проще, просто принимая во внимание природу уравновешенного кодирования, где округление и некоторые другие операции выполняются значительно проще и экономнее.
- Сейчас очень актуален поиск и распознавание образов — в них троичная логика пригодилась бы?
- Да, именно там. В области обработки цифровых сигналов применяется знакоразрядная система, которая по сути своей эмулирует троичное представление просто на двоичных компонентах. Если будет готовое достаточно быстрое «железо», для того чтобы выполнять эти алгоритмы достаточно эффективно, то я думаю, именно троичная реализация окажется предпочтительнее.