Каждый специалист по компьютерам знает, насколько сложно работать с длинными последовательностями нулей и единиц. На помощь ему приходят восьмеричная и шестнадцатиричная системы счисления, обеспечивающие более компактное представление информации.  С троичной системой счисления ситуация хуже: есть несколько способов представления троичных чисел и есть несколько способов компактной записи троичных чисел, но они имеют недостатки, усложняющие работу с ними.  Система кодирования TREX разработана для компактного отображения симметричной троичной системы счисления при ее использовании в компьютерных системах В данной статье речь идет только о симметричной троичной системе счисления, использующей значения {-1, 0, +1}.  Недостатки предлагаемых на сегодняшний момент 9-ти и 27-ричных систем кодирования троичных чисел будут упомянуты ниже в сравнении с системой TREX. При разработке ПО для работы с троичными компьютерами встает вопрос вывода информации на различные устройства отображения информации. При этом информация должна выводиться упорядоченно, чтобы при печати, например, дампов одинаковые разряды чисел располагались на одинаковых позиция строки.  Работа с троичной логикой очень непривычна даже для опытных программистов, поэтому для повышения удобства работы, минимизации человеческих ошибок и сокращения времени освоения троичного компьютера (который когда-нибудь уже будет создан) требуется система кодирования, обладающая простотой, наглядностью и односимвольностью ( отображением одного разряда одним символом, желательно из стандартного набора ASCII) Для записи симметричной троичной системы счисления удобной формы отображения на экране компьютера можно добиться, используя алфавит {-, 0, +}. Пример: +-0-0+++-  -++0+00-- 000+-+--0  +-+-+-++0 -0+0-+00+  0-0+++--0 Поскольку с длинными последовательностями знаков «-», «0» и «+» работать неудобно (как и с длинными последовательностями «0» и «1» в двоичной системе счисления), то должна быть возможность компактного отображения информации (по аналогии с HEX-кодом).   По аналогии с названием HEX, для представляемой системы счисления предлагается использовать название TREX. Описание системы кодирования  Система TREX использует следующий алфавит: { m..a, 0, A..M} Используется следующая схема кодирования:Десятичное    Троичное  TREX значение      значение   -13         ---        m   -12         --0        l   -11         --+        k   -10         -0-        j    -9         -00        i    -8         -0+        h    -7         -+-        g    -6         -+0        f    -5         -++        e    -4         0--        d    -3         0-0        c    -2         0-+        b    -1         00-        a     0         000        0    +1         00+        A    +2         0+-        B    +3         0+0        C    +4         0++        D    +5         +--        E    +6         +-0        F    +7         +-+        G    +8         +0-        H    +9         +00        I   +10         +0+        J   +11         ++-        K   +12         ++0        L   +13         +++        M Троичные единицы данных и их запись в TREX Трит  Единичный троичный разряд, который в симметричной троичной системе счисления может принимать значения {-1, 0, +1}. Для удобного отображения на устройствах вывода информации целесообразно использовать символы {-, 0, +} соответственно.  Пример: Троичная система счисления     Десятичное значение          +                      +1          0                       0          -                      -1 Трибл  Трибл (3 троичных разряда или 1/3 часть трайта) кодируется одним символом TREX  Пример:     M   = +++ Трайт  При использовании системы TREX предлагается трайтом называть девять троичных разрядов в отличие от применяемого в вычислительных машинах «Сетунь» 6-ти разрядного трайта. Девятиразрядный трайт достаточно велик, чтобы закодировать алфавит, включающий  цифры, математические и служебные знаки, заглавные и строчные буквы для многих языков. Диапазон значений трайта от -9841 до +9841. В трайте целое число 27-ричных цифр (триблов). Трайт кодируется тремя символами TREX Пример:     A0m = 00+ 000 --- Предлагаемая система кодирования выгодно отличается от предлагавшихся до этого 9-ти и 27-ричных систем следующими особенностями: односимвольностью — каждое значение отображается одним символом, не требуется вводить двухсимвольные обозначения.  Существующие системы кодирования:существует 9-ричная система, использующая алфавит {-4,-3,-2,-1,0,1,2,3,4}  естественностью – для записи не применяются специальные символы.   Существующие системы кодирования: существует вариант 9-тиричной системы счисления, использующий специальные символы с верхней чертой (не знаю, как нарисовать символы с верхним подчеркиванием, поэтому вставил картинку): Свойства односимвольности и естественности очень удобны при компактном отображении на экране троичных дампов без использования специальных шрифтов.Пример: двухсимвольная     система запись              TREX(столбцы «ползут»)  (столбцы ровные) -4 1 0 -2 -3        A a 0 B B 0 0 0 1 -2          M M m d d 1 1 -3 0 0          C c a d d визуальной симметричностью — для противоположных значений используются одни и те же символы с разным регистром, в отличие от систем, где противоположные значения обозначаются разными символами.  Существующие системы кодирования: существуют 9-ричная система, использующая алфавит  {W,X,Y,Z,0,1,2,3,4}, и 27-ричная система, использующая алфавит {0,A..Z}).  Свойство визуальной симметричности позволяет выполнять очевидные операции с троичными числами «в уме» Пример:  A = -a MMM + mmm = 0 наглядностью - возможностью в уме выполнять следующие простейшие операции с числами: определение знака числа — по регистру самой старшей цифры.   Пример: Akm > 0 mmD < 0 инверсия числа - производится сменой регистра всех символов. Пример:    -(AdFGhb) = aDfgHB вычисление модуля числа – модуль числа равен самому числу, если старшая цифра положительная или инвертированному числу, если она отрицательная Пример:  mod (Mf0) = Mf0 mod (a0H) = A0h упрощение при сложении - при сложении длинных чисел одинаковые символы различных регистров, находящиеся в одинаковых разрядах можно сократить Пример:          Mfa        00a+      =>  +       => 00G  mFH        00H сравнение по первой отличающейся цифре - при сравнении двух чисел, как положительных, так и отрицательных, больше то число, у которого больше первая отличающаяся цифра, начиная со старшей значащей. Пример:         Mfa    > Mma afa    >   bfa Предлагаемая система кодирования позволит:    упорядочить отображение троичной информации на экране компьютера (выровненные дампы)    уменьшить число выводимых знаков по сравнению с поразрядным выводом троичных данных  облегчить работу с троичными числами широкому кругу специалистов уменьшить количество ошибок при разработке программного обеспечения для троичных компьютеров или их эмуляторов. Пример скриншота с TREX Архитектор ИТ-систем