Virtual Laboratory Wiki

Трои́чная систе́ма счисле́нияпозиционная система счисления с целочисленным основанием равным 3. Существует в двух вариантах: несимметричная и симметричная.
Троичные цифры можно обозначать любыми тремя знаками {A,B,C}, {X,Y,Z}, {!,?,%} и др., но в несимметричной троичной системе счисления чаще применяются цифры {0,1,2}, а в троичной симметричной системе счисления знак,0,1}, {1,0,1}[1], {i,0,1}, {N,O,P}, {N,Z,P} и цифры {2,0,1}.

В цифровой электронике, независимо от варианта троичной системы счисления, одному троичному разряду (тр.р.) в троичной системе счисления соответствует один троичный триггер как минимум на трёх инверторах с логикой на входе или два двоичных триггера как минимум на четырёх инверторах.

Троичные коды являются комбинациями трёх элементов и не являются троичной системой счисления, но используется в них, как основа, причём, двоичный код может использоваться для кодирования чисел в системах счисления с любым основанием.

При кодировании алфавитно-цифровых символов (знаков) троичному коду не приписываются весовые коэффициенты, как это делается в системах счисления, в которых троичный код используется для представления чисел, а используется только порядковый номер кода из множества размещений с повторениями.

числовое

значение

троичный

код

0 00
1 01
2 02
3 10
4 11
5 12
6 20
7 21
8 22


Представление чисел в троичных системах счисления[]

Несимметричная троичная система счисления[]

Примером представления чисел в несимметричной троичной системе счисления может служить запись в этой системе целых положительных чисел:

Десятичное число 0 1 2 3 4 5 6 7 8 9 10
Троичное число 0 1 2 10 11 12 20 21 22 100 101

Если в десятичной системе счисления имеется 10 цифр и веса соседних разрядов различаются в 10 раз (разряд единиц, разряд десятков, разряд сотен), то в троичной системе используются только три цифры и веса соседних разрядов различаются в три раза (разряд единиц, разряд троек, разряд девяток, …). Цифра 1, написанная первой левее запятой, обозначает единицу; эта же цифра, написанная второй левее запятой, обозначает тройку и т.д.

Несимметричная троичная система счисления является частным случаем спаренных (комбинированных) показательных позиционных систем счисления, в которой ak - из троичного множества a={0,1,2}, b=3, веса разрядов равны 3k.

Сдвоенные комбинированные системы счисления[]

Основная статья: Комбинированная система счисления


В сдвоенных (спаренных, комбинированных) показательных позиционных троичных системах счисления используются две системы счисления:

  1. внутриразрядная система счисления с основанием a, числа которой используются для записи цифр и
  2. приписная межразрядная система счисления с основанием b.

Целое число в сдвоенной показательной позиционной системе счисления представляется в виде суммы произведений значений в разрядах (цифр) - на k-тые степени числа b:

, где:
  • k - число от 0 до n-1, номер числового разряда,
  • n - число разрядов,
  • a - число, основание основной внутриразрядной системы счисления,
  • ak — целые числа из множества a, называемые цифрами,
  • b - число, основание межразрядной показательной весовой функции,
  • bk - числа межразрядной функции, весовые коэффициенты разрядов.

Каждое произведение в такой записи называется (a,b)-ичным разрядом.

При b=a образуются (a,a)-ичные системы счисления с произведением - akak и суммой - , которые при a=3 превращаются в обычную (3,3)-ичную (троичную) систему счисления. При записи первый индекс часто опускается, иногда, когда есть упоминание в тексте, опускается и второй индекс.

Весовой коэффициент разряда - bk - приписной и, в общем случае, может быть необязательно показательной функцией от номера разряда - k, и необязательно степенью числа 3. Множество значений ak более ограниченно и более связано с аппаратной частью - числом устойчивых состояний триггеров или числом состояний группы триггеров в одном разряде регистра. В общем случае, ak могут быть тоже необязательно из троичного множества a={0,1,2}, но, чтобы спаренной системе быть троичной и называться троичной, как минимум, одна из двух систем должна быть троичной. Так как ak-тые ближе к аппаратной части и по ak-тым из множества a={0,1,2} или из множества a={-1,0,+1}, а не по bk мы определяем и относим число x(a,b) к троичным системам кодирования, то есть бо́льшие основания считать a основным основанием системы счисления, b в таком случае называется основанием вспомогательной системы счисления. Но и это весьма относительно, так как запись числа может быть в одной системе кодирования, а само число может быть в другой системе счисления. Пример: двоично-десятичное кодирование (BCD), в котором числа записываются в двоичном коде, а система счисления - десятичная.

Сдвоенные комбинированные троичные системы счисления[]

Целое число в сдвоенной (спаренной) позиционной троичной системе записывают в виде последовательности его цифр (строки цифр), перечисляемых слева направо по убыванию старшинства разрядов:

В показательных системах счисления значениям разрядов приписываются весовые коэффициенты , в записи они опускаются, но подразумевается, что k-тый разряд справа налево имеет весовой коэффициент равный .

Из комбинаторики известно, что число записываемых кодов не зависит от основания показательной функции - b, которое определяет диапазон представляемых числами x3,b величин, и равно числу размещений с повторениями:
, где:
a=3 - 3-х элементное множество a={0,1,2} из которого берутся цифры ak, n - число элементов (цифр) в числе x3,b.

Дробное число записывается и представляется в виде:

, где m - число разрядов дробной части сдвоенного (спаренного) позиционного числа справа от запятой,

при m=0 дробная часть отсутствует, число - целое,

при ak из троичного множества a={0,1,2} и b=1 образуется непозиционная троичная система счисления с одинаковыми весовыми коэффициентами всех разрядов равными 1k=1,

при ak из двоичного множества a={0,1} и b=3 в сумме будут только целые степени - 3k,

при ak из троичного множества a={0,1,2} и b=3 в сумме будут целые и удвоенные степени 3, система счисления становится обычной несимметричной троичной системой счисления, ak удовлетворяют неравенству 0<=ak<=(b-1)<b, т.е. 0<=ak<=2<3,

при ak из десятичного множества a={0,1,2,3,4,5,6,7,8,9} и b=3 в сумме будут целые степени 3 умноженные на 1, 2, 3, 4, 5, 6, 7, 8 и 9.
В некоторых случаях этого может оказаться недостаточно, в таких случаях можно применить стро́енные (комтринированные), счетверённые и другие системы счисления.

Строенные комбинированные троичные системы счисления[]

В стро́енных (комтринированных) показательных позиционных троичных системах счисления используются три системы счисления. В вес разряда вводится дополнительный член в третьей системе счисления. Например, сомножитель (b/с):

В общем случае c≠3.
При ak из a={0,1,2}, b=3 и c=3 образуется обычная несимметричная троичная система счисления.
При a=2, b=3 и c=2 образуется (2,3,2)-ичная система счисления с дополнительным нецелочисленным весовым коэффициентом в произведении равным (3/c)=(3/2)=1,5.
При других значениях a, b и c образуются другие строенные показательные позиционные системы счисления с дополнительным сомножителем (b/c), число которых бесконечно.
Возможны бесконечные множества и других составных систем систем счисления.

Кодирование троичных цифр[]

Одна троичная цифра может кодироваться разными способами.
1. Трёхуровневое однопроводное кодирование:
2 - (+1) ;
1 - (0) ;
0 - (-1) .

2. Двухуровневое двухразрядное двухпроводное кодирование 1 (2-Bit Binary Coded Ternary, 2B BCT representation)[2]:
2 - (1,0);
1 - (0,1);
0 - (0,0).
3. Двухуровневое двухразрядное двухпроводное кодирование 2:
2 - (1,1);
1 - (0,1);
0 - (0,0).
3. Трёхразрядное одноединичное трёхпроводное кодирование 1 (3-Bit Binary Coded Ternary, 3B BCT representation):
2 - (1,0,0);
1 - (0,1,0);
0 - (0,0,1).
4. Трёхразрядное однонулевое трёхпроводное кодирование 2:
2 - (0,1,1);
1 - (1,0,1);
0 - (1,1,0).
5. Трёхразрядное единичное (унарное) трёхпроводное кодирование 3:
2 - (1,1,1);
1 - (0,1,1);
0 - (0,0,1).
6. Двухуровневое нулевое трёхпроводное кодирование 4:
2 - (0,0,0);
1 - (1,0,0);
0 - (1,1,0).
и др.

Сравнение с двоичной системой счисления[]

При поразрядном сравнении троичная система счисления оказывается более ёмкой, чем двоичная система счисления.
При девяти разрядах двоичный код имеет ёмкость чисел, а троичный код имеет ёмкость числа, т.е. в раза больше.
При двадцати семи разрядах двоичный код имеет ёмкость чисел, а троичный код имеет ёмкость чисел, т.е. в раз больше.
При восьмидесяти одном разряде двоичный код имеет ёмкость числа, а троичный код имеет ёмкость чисел, т.е. в раз больше.

Свойства[]

Троичная позиционная показательная несимметричная троичная система счисления по затратам числа знаков (в трёхразрядном десятичном числе 3*10=30 знаков) наиболее экономична из позиционных показательных несимметричных систем счисления.[3][4][5][6] А. Кушнеров[4] приписывает эту теорему Джону фон Нейману.

Перевод целых чисел из десятичной системы счисления в троичную[]

Для перевода целое десятичное число делят нацело с остатком (целочисленное деление) на 3 до тех пор, пока частное больше нуля. Остатки, записанные слева направо от последнего к первому являются целым несимметричным троичным эквивалентом целого десятичного числа.[7]
Пример: десятичное целое число 4810,10 переведём в несимметричное троичное целое число:
число = 4810,10 делим на 3, частное = 16, остаток a0 = 0
частное = 1610,10 делим на 3, частное = 5, остаток a1 = 1
частное = 510,10 делим на 3, частное = 2, остаток a2 = 2
частное = 210,10 делим на 3, частное = 0, остаток a3 = 1
Частное не больше нуля, деление закончено.
Теперь, записав все остатки от последнего к первому слева напрво, получим результат 4810,10 = (a3a2a1a0)3,3 = 12103,3.

Симметричная троичная система счисления[]

Позиционная целочисленная симметричная троичная система счисления была предложена итальянским математиком Фибоначчи (Леонардо Пизанский) (1170 — 1250) для решения «задачи о гирях».[8] Частный случай этой задачи был опубликован в книге Баше де Мезириака в XVII веке, позже этой задачей интересовался Д. И. Менделеев.[9]

Симметричность при взвешивании на рычажных весах использовали с древнейших времён, добавляя гирю на чашу с товаром. Элементы троичной системы счисления были в системе счисления древних шумеров,[10] в системах мер, весов и денег, в которых были единицы равные 3. Но только в симметричной троичной системе счисления Фибоначчи объединены оба этих свойства.

Симметричная троичная система использовалась в советской ЭВМ Сетунь. По затратам числа знаков на представление чисел она равна троичной несимметричной системе.

Симметричная система позволяет изображать отрицательные числа, не используя отдельный знак минуса. Число 2 изображается цифрой 1 в разряде троек и цифрой (минус единица) в разряде единиц. Число −2 изображается цифрой (минус единица) в разряде троек и цифрой 1 в разряде единиц.
Возможно шесть соответствий троичной симметричной системы счисления и троичной несимметричной системы счисления:

1. 2. 3. 4. 5. 6.
1 2 1 0 0 2 1
0 1 0 2 1 0 2
Шаблон:Overline 0 2 1 2 1 0

В соответствии 2. сохраняются числовые значения 0 и 1.

Десятичная система −3 −2 −1 0 1 2 3 4 5 6 7 8 9
Троичная несимметричная −10 −2 −1 0 1 2 10 11 12 20 21 22 100
Троичная симметричная 10 11 1 0 1 11 10 11 111 110 111 101 100

В троичной симметричной системе счисления знак Шаблон:Overline можно заменить знаком (не числом) i или 2 и, во втором случае, использовать для троичной симметричной системы счисления {-1,0,+1} знаки троичной несимметричной системы {2,0,1}.

Свойства[]

Благодаря тому что основание 3 нечётно, в троичной системе возможно симметричное относительно нуля расположение цифр: -1, 0, 1, с которым связано четыре ценных свойства:

  • Естественность представления отрицательных чисел;
  • Отсутствие проблемы округления.
  • Таблица умножения в этой системе, как отметил О. Л. Коши, примерно в четыре раза короче.[9](стр.34).
  • Для изменения знака у представляемого числа нужно изменять знаки у всех его цифр. Это свойство увеличивает число операций при перемене знака (в несимметричных системах изменяется только один знаковый разряд), но повышает надёжность при сбоях в одном или более разрядах.

Представление отрицательных чисел[]

Наличие положительной и отрицательной цифр позволяет непосредственно представлять как положительные, так и отрицательные числа. При этом нет необходимости в специальном разряде знака и не надо вводить дополнительный (или обратный) код для выполнения арифметических операций с отрицательными числами. Все действия над числами, представленными в троичной системе счисления с цифрами 0, 1, -1, выполняются естественно с учётом знаков чисел. Знак числа определяется знаком старшей значащей цифры числа: если она положительна, то и число положительно, если отрицательна, то и число отрицательно. Для изменения знака числа надо изменить знаки всех его цифр (т.е. инвертировать его код инверсией Лукасевича). Например:

Округление[]

Другим полезным следствием симметричного расположения значений цифр является отсутствие проблемы округления чисел: абсолютная величина части числа, представленной отбрасываемыми младшими цифрами, никогда не превосходит половины абсолютной величины части числа, соответствующей младшей значащей цифре младшего из сохраняемых разрядов. Следовательно, в результате отбрасывания младших цифр числа получается наилучшее при данном количестве оставшихся цифр приближение этого числа, и округление не требуется.

Перевод в другие системы счисления[]

Всякое число, записанное в троичной системе счисления с цифрами 0, 1, -1, можно представить в виде суммы целых степеней числа 3, причём если в данном разряде троичного изображения числа стоит цифра 1, то соответствующая этому разряду степень числа 3 входит в сумму со знаком «+», если же цифра -1, то со знаком «-», а если цифра 0, то вовсе не входит. Это можно представить формулой

, где


— целая часть числа,
— дробная часть числа,

причём коэффициенты K могут принимать значения { 1, 0, -1 }.

Для того чтобы число, представленное в троичной системе, перевести в десятичную систему, надо цифру каждого разряда данного числа умножить на соответствующую этому разряду степень числа 3 (в десятичном представлении) и полученные произведения сложить.

Девятиричная форма представления команд[]

Представление команд троичным кодом при программировании и при вводе в машину неудобно и неэкономно, поэтому вне машины применяется девятиричная форма представления команд. Девятиричные цифры сопоставляются парам троичных цифр:

При выводе из машины отрицательные девятиричные цифры обозначают буквами:

Девятиричная цифра
Буква латинского алфавита Z Y X W
Буква русского алфавита Ц У Х Ж

См. также[]

Литература[]

Брусенцов Н.П., С.П. Маслов, В.П. Розин, А.М. Тишулина "Малая цифровая вычислительная машина Сетунь" Издательство Московского университета 1965

Ссылки[]

  1. de:Ternärsystem#Vergleich mit dem Dezimalsystem und dem Binärsystem
  2. http://314159.ru/kushnerov/kushnerov1.pdf Троичная цифровая техника. Ретроспектива и современность
  3. С. В. Фомин Системы счисления. — М.: Наука, 1987. — 48 с. — (Популярные лекции по математике). (альтернативная ссылка)
  4. 4,0 4,1 А. Кушнеров Троичная цифровая техника. Ретроспектива и современность.
  5. Экономичность систем счисления
  6. О. А. Акулов, Н. В. Медведев. Информатика и вычислительная техника. 4-е изд. — М.: Омега-Л, 2007. (Раздел I, Гл.3.3)
  7. http://algolist.manual.ru/maths/teornum/count_sys.php Перевод из системы с большим основанием - в систему с меньшим
  8. «Троичный принцип» Николая Брусенцова.
  9. 9,0 9,1 С. Б. Гашков § 11. Д. И. Менделеев и троичная система // Системы счисления и их применение. — М.: МЦНМО, 2004. — (Библиотека «Математическое просвещение»). В Google Chrome после нажатия на PDF(333Kb) нужно стронуть одну из боковых сторон рамки браузера.
  10. Юрий Ревич «Наследники Бэббиджа».
После нажатия на PDF(333Kb)  нужно стронуть боковую часть рамки окна браузера.

Эта страница использует содержимое раздела Википедии на русском языке. Оригинальная статья находится по адресу: Троичная система счисления. Список первоначальных авторов статьи можно посмотреть в истории правок. Эта статья так же, как и статья, размещённая в Википедии, доступна на условиях CC-BY-SA .