Десятичная система счисления
- 1 year ago
- 0
- 0
Трои́чная систе́ма счисле́ния — позиционная система счисления с целочисленным основанием, равным 3.
Существует в двух вариантах: несимметричная и симметричная.
Один троичный разряд называется трит (сокращение от tri nary digi t ).
В несимметричной троичной системе счисления чаще применяются цифры {0,1,2}, а в троичной симметричной системе счисления знаки {−,0,+}, {−1,0,+1}, { 1 ,0,1}, { 1 ,0,1}, {i,0,1}, {N,O,P}, {N,Z,P} и цифры {2,0,1}, {7,0,1} [ источник не указан 4142 дня ] . В распечатках ЭВМ « Сетунь » использовалось кодирование { 1 ,0,1} . Троичные цифры можно обозначать любыми тремя знаками {A,B,C}, но при этом дополнительно нужно указать старшинство знаков, например, A<B<C.
В цифровой электронике , независимо от варианта троичной системы счисления, одному троичному разряду в троичной системе счисления соответствует один троичный триггер как минимум на трёх инверторах с логикой на входе или два двоичных триггера как минимум на четырёх инверторах с логикой на входе.
Примером представления чисел в несимметричной троичной системе счисления может служить запись в этой системе целых положительных чисел:
Десятичное число | 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, написанная первой левее запятой, обозначает единицу; эта же цифра, написанная второй левее запятой, обозначает тройку и т. д.
Несимметричная троичная система счисления является частным случаем спаренных (комбинированных) показательных позиционных систем счисления, в которой a k — из троичного множества a={0,1,2}, b=3, веса разрядов равны 3 k .
В показательных позиционных троичных системах счисления используются две системы:
Целое число в показательной позиционной системе счисления представляется в виде суммы произведений значений в разрядах (цифр) — на k -е степени числа b :
Каждое произведение в такой записи называется (a, b)-ичным разрядом.
При c=b образуются (b, b) -ичные системы счисления с произведением — a k b k и суммой — , которые при b=3 превращаются в обычную (3,3) -ичную (троичную) систему счисления. При записи первый индекс часто опускается, иногда, когда есть упоминание в тексте, опускается и второй индекс.
Весовой коэффициент разряда — b k — приписной и, в общем случае, может быть необязательно показательной функцией от номера разряда — k , и необязательно степенью числа 3 . Множество значений a k более ограниченно и более связано с аппаратной частью — числом устойчивых состояний триггеров или числом состояний группы триггеров в одном разряде регистра . В общем случае, a k могут быть тоже необязательно из троичного множества a={0,1,2}, но, чтобы спаренной системе быть троичной и называться троичной, как минимум, одна из двух систем должна быть троичной. a k -е ближе к аппаратной части и по a k -м из множества a={0,1,2} или из множества a={-1,0,+1}, определяется система кодирования: несимметричная троичная или симметричная троичная.
Целое число в показательной позиционной троичной системе записывают в виде последовательности его цифр (строки цифр), перечисляемых слева направо по убыванию старшинства разрядов:
В показательных системах счисления значениям разрядов приписываются весовые коэффициенты , в записи они опускаются, но подразумевается, что k -й разряд справа налево имеет весовой коэффициент равный .
Из комбинаторики известно, что количество записываемых кодов равно числу размещений с повторениями :
где a = 3 — 3-элементное множество a = {0, 1, 2}, из которого берутся цифры a k , n — число элементов (цифр) в числе x 3, b .
Количество записываемых кодов не зависит от основания показательной функции — b , которое определяет диапазон представляемых числами x 3, b величин.
Дробное число записывается и представляется в виде
где m — число разрядов дробной части числа справа от запятой;
В некоторых случаях этого может оказаться недостаточно, в таких случаях можно применить стро́енные (комтринированные), счетверённые и другие системы счисления.
В показательных позиционных троичных системах счисления в вес разряда можно ввести дополнительный сомножитель. Например, сомножитель (b/с):
В общем случае c≠3.
При a
k
из 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. Трёхуровневое кодирование троичных цифр (3-Level LevelCoded Ternary, 3L LCT, «однопроводное»):
Число трёхуровневых систем кодирования троичных цифр равно числу
перестановок
:
1.1. Симметричная {-1,0,+1}
+U — (+1) ;
0 — (0) ;
-U — (-1) ,
1.2. Сдвинутая на +1 {0,1,2}
1.3. Сдвинутая на +2 {1,2,3}
2.
Двухбитные
двоичнокодированые троичные цифры (2-Bit BinaryCodedTernary, 2B BCT representation, «двухпроводное») с использованием 3-х кодов из 4-х возможных
:
Число возможных 2B BCT систем кодирования троичных цифр равно числу
сочетаний без повторения
:
Вот некоторые из них:
2.1.
(1,0) — 2 ;
(0,1) — 1 ;
(0,0) — 0.
2.2.
(1,1) — 2;
(0,1) — 1;
(0,0) — 0.
3.
Двухбитные
двоичнокодированые троичные цифры (2-Bit BinaryCodedTernary, 2B BCT representation, «двухпроводное») с использованием всех 4-х кодов из 4-х возможных (два из 4-х кодов кодируют одну и туже троичную цифру из 3-х).
3.1.
Вот одна из них
:
(0,0) — «0»
(1,1) — «0»
(0,1) — «-1»
(1,0) — «+1»
4.
Трёхбитные
двоичнокодированые троичные цифры (3-Bit BinaryCodedTernary, 3B BCT representation, «трёхпроводное») с использованием 3-х кодов из 8-ми возможных:
Число возможных 3B BCT систем кодирования троичных цифр равно числу
сочетаний без повторения
:
Вот некоторые из них:
3.1.
(1,0,0) — 2;
(0,1,0) — 1;
(0,0,1) — 0.
3.2.
(0,1,1) — 2;
(1,0,1) — 1;
(0,1,0) — 0.
3.3.
(1,1,1) — 2;
(0,1,1) — 1;
(0,0,1) — 0.
3.4.
(0,0,0) — 2;
(1,0,0) — 1;
(1,1,0) — 0.
3.5.
(1,0,0) — 2;
(1,1,0) — 1;
(1,1,1) — 0.
3.6.
(0,1,1) — 2;
(0,0,1) — 1;
(0,0,0) — 0.
3.7.
(1,0,1) — 2;
(0,1,0) — 1;
(0,0,0) — 0.
и др.
При поразрядном сравнении троичная система счисления оказывается более ёмкой, чем двоичная система счисления.
При девяти разрядах двоичный код имеет ёмкость
чисел, а троичный код имеет ёмкость
числа, то есть в
раза больше.
При двадцати семи разрядах двоичный код имеет ёмкость
чисел, а троичный код имеет ёмкость
чисел, то есть в
раз больше.
Троичная позиционная показательная несимметричная система счисления по затратам числа знаков (в трёхразрядном десятичном числе 3*10=30 знаков) наиболее экономична из позиционных показательных несимметричных систем счисления. А. Кушнеров приписывает эту теорему Джону фон Нейману .
Для перевода целое десятичное число делят нацело с остатком (целочисленное деление) на 3 до тех пор, пока частное больше нуля. Остатки, записанные слева направо от последнего к первому являются целым несимметричным троичным эквивалентом целого десятичного числа.
Пример: десятичное целое число 48
10,10
переведём в несимметричное троичное целое число:
число = 48
10,10
делим на 3, частное = 16, остаток a
0
= 0
частное = 16
10,10
делим на 3, частное = 5, остаток a
1
= 1
частное = 5
10,10
делим на 3, частное = 1, остаток a
2
= 2
частное = 1
10,10
делим на 3, частное = 0, остаток a
3
= 1
Частное не больше нуля, деление закончено.
Теперь, записав все остатки от последнего к первому слева направо, получим результат 48
10,10
= (a
3
a
2
a
1
a
0
)
3,3
= 1210
3,3
.
Позиционная целочисленная симметричная троичная система счисления была предложена итальянским математиком Фибоначчи (Леонардо Пизанский) (1170—1250) для решения «задачи о гирях». Задачу о наилучшей системе гирь рассматривал Лука Пачоли (XV в.). Частный случай этой задачи был опубликован в книге французского математика Клода Баше де Мезириака «Сборник занимательных задач» в 1612 году (русский перевод книги К. Г. Баше «Игры и задачи, основанные на математике» вышел в Петербурге только в 1877 г.). В 1797 году в России был издан закон «Об учреждении повсеместно в Российской империи верных весов питейных и хлебных мер». Для взвешивания товаров допускались только гири следующих весов: в 1 и 2 пуда, в 1, 3, 9, 27 фунтов и в 1, 3, 9, 27 и 81 золотник . Как приложение к закону была издана таблица для взвешивания товаров от 1 фунта до 40 фунтов при помощи гирь в 1, 3, 9, 27 фунтов и для взвешивания товаров от 1 золотника до 96 золотников при помощи гирь в 1, 3, 9, 27 и 81 золотник . Этой задачей занимался петербургский академик Леонард Эйлер , а позже интересовался Д. И. Менделеев .
Симметричность при взвешивании на рычажных весах использовали с древнейших времён, добавляя гирю на чашу с товаром. Элементы троичной системы счисления были в системе счисления древних шумеров, в системах мер, весов и денег, в которых были единицы равные 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 |
1 | 0 | 2 | 1 | 2 | 1 | 0 |
В соответствии 2. сохраняются числовые значения 0 и 1.
Десятичная система | −9 | −8 | −7 | −6 | −5 | −4 | −3 | −2 | −1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Троичная несимметричная | −100 | −22 | −21 | −20 | −12 | −11 | −10 | −2 | −1 | 0 | 1 | 2 | 10 | 11 | 12 | 20 | 21 | 22 | 100 |
Троичная симметричная | 1 00 | 1 01 | 1 1 1 | 1 10 | 1 11 | 11 | 1 0 | 1 1 | 1 | 0 | 1 | 1 1 | 10 | 11 | 1 11 | 1 1 0 | 1 1 1 | 10 1 | 100 |
В троичной симметричной системе счисления знак 1 можно заменить знаком (не числом) i или 2 и, во втором случае, использовать для троичной симметричной системы счисления {-1,0,+1} знаки троичной несимметричной системы {2,0,1}.
Благодаря тому что основание 3 нечётно, в троичной системе возможно симметричное относительно нуля расположение цифр: −1, 0, 1, с которым связано шесть ценных свойств:
Наличие положительной и отрицательной цифр позволяет непосредственно представлять как положительные, так и отрицательные числа. При этом нет необходимости в специальном разряде знака и не надо вводить дополнительный (или обратный) код для выполнения арифметических операций с отрицательными числами. Все действия над числами, представленными в троичной симметричной системе счисления, выполняются, естественно, с учётом знаков чисел. Знак числа определяется знаком старшей значащей цифры числа: если она положительна, то и число положительно, если отрицательна, то и число отрицательно. Для изменения знака числа надо изменить знаки всех его цифр (то есть инвертировать его код инверсией Лукасевича). Например:
Другим полезным следствием симметричного расположения значений цифр является отсутствие проблемы округления чисел: абсолютная величина части числа, представленной отбрасываемыми младшими цифрами, никогда не превосходит половины абсолютной величины части числа, соответствующей младшей значащей цифре младшего из сохраняемых разрядов. Следовательно, в результате отбрасывания младших цифр числа получается наилучшее при данном количестве оставшихся цифр приближение этого числа, и округление не требуется.
Перевод чисел из десятичной системы в троичную и соответствующий ему вопрос о гирях подробно изложены в книгах . Там же рассказано о применении троичной системы гирь в русской практике.
Всякое число, записанное в троичной системе счисления с цифрами 0, 1, −1, можно представить в виде суммы целых степеней числа 3, причём если в данном разряде троичного изображения числа стоит цифра 1, то соответствующая этому разряду степень числа 3 входит в сумму со знаком «+», если же цифра −1, то со знаком «-», а если цифра 0, то вовсе не входит. Это можно представить формулой
причём коэффициенты K могут принимать значения { 1, 0, −1 }.
Для того чтобы число, представленное в троичной системе, перевести в десятичную систему, надо цифру каждого разряда данного числа умножить на соответствующую этому разряду степень числа 3 (в десятичном представлении) и полученные произведения сложить.
2 | 02 | 10 | 11 |
---|---|---|---|
1 | 01 | 02 | 10 |
0 | 00 | 01 | 02 |
+ | 0 | 1 | 2 |
1 | 00 | 01 | 1 1 |
---|---|---|---|
0 | 0 1 | 00 | 01 |
1 | 1 1 | 0 1 | 00 |
+ | 1 | 0 | 1 |
Представление команд троичным кодом при программировании и при вводе в машину неудобно и неэкономно, поэтому вне машины применяется девятеричная форма представления команд. Девятеричные цифры сопоставляются парам троичных цифр:
При выводе из машины отрицательные девятеричные цифры обозначают буквами:
Девятеричная цифра | ||||
---|---|---|---|---|
Буква латинского алфавита | Z | Y | X | W |
Буква русского алфавита | Ц | У | Х | Ж |