Сбалансированная тройная система счисления — это троичная система счисления (т. е. основание 3 с тремя цифрами ), в которой используется сбалансированное представление целых чисел со знаком , в котором цифры имеют значения −1 , и 1 . Это контрастирует со стандартной (несбалансированной) троичной системой, в которой цифры имеют значения 0, 1 и 2. Сбалансированная троичная система может представлять все целые числа без использования отдельного знака минус ; значение первой ненулевой цифры числа имеет знак самого числа. Сбалансированная троичная система является примером нестандартной позиционной системы счисления . Он использовался в некоторых ранних компьютерах [1] , а также в некоторых решениях головоломок о балансе . [2]
В разных источниках используются разные глифы для обозначения трех цифр в сбалансированной троичной системе. В этой статье T (который напоминает лигатуру знака минус и 1) представляет собой −1 , а и 1 представляют собой сами себя. Другие соглашения включают использование «-» и «+» для обозначения -1 и 1 соответственно или использование греческой буквы тета (Θ), которая напоминает знак минус в круге, для обозначения -1. В публикациях о компьютере «Сетунь » −1 представляется как перевернутая 1: «1". [1]
Сбалансированная тройная система впервые появляется в книге Майкла Стифеля «Арифметика Интегра» (1544 г.). [3] Это также встречается в работах Иоганна Кеплера и Леона Лаланна . Соответствующие схемы знаковых цифр в других системах счисления обсуждались Джоном Колсоном , Джоном Лесли , Огюстеном-Луи Коши и, возможно, даже в древнеиндийских Ведах . [2]
Пусть обозначает набор символов (также называемых глифами или символами ), где этот символ иногда используется вместо Определить целочисленную функцию с помощью
где правые части представляют собой целые числа с их обычными значениями. Эта функция строго и формально устанавливает, как целочисленные значения присваиваются символам/глифам. Одним из преимуществ этого формализма является то, что определение «целых чисел» (как бы они ни были определены) не объединяется с какой-либо конкретной системой записи. /представляю их; таким образом, эти две разные (хотя и тесно связанные) концепции остаются отдельными.
Набор вместе с функцией образует сбалансированное представление знаковых цифр, называемое сбалансированной троичной системой. Его можно использовать для представления целых и действительных чисел.
Пусть будет плюсом Клини , который представляет собой набор всех объединенных строк конечной длины из одного или нескольких символов (называемых его цифрами ), где – неотрицательное целое число, и все цифры взяты из . Начало – это символ ( справа ), его конец ( слева), а длина . Тернарная оценка — это функция , определяемая путем присвоения каждой строке целого числа.
Строка представляет (относительно ) целое число. Альтернативно значение может быть обозначено. Карта является сюръективной , но не инъективной, поскольку, например , каждое целое число имеет ровно одно представление под ним, которое не заканчивается (слева) символом т.е.
Если и то удовлетворяет:
что показывает, что это удовлетворяет своего рода рекуррентному соотношению . Это рекуррентное отношение имеет начальное условие, где — пустая строка.
Это означает, что для каждой строки
который на словах говорит о том, что ведущие символы (слева в строке из 2 и более символов) не влияют на результирующее значение.
Следующие примеры иллюстрируют, как можно вычислить некоторые значения, где (как и раньше) все целые числа записываются в десятичном формате (по основанию 10), а все элементы являются просто символами.
и используя приведенное выше рекуррентное соотношение
В сбалансированной троичной системе значение цифры n знаков слева от точки счисления является произведением цифры и 3 n . Это полезно при преобразовании десятичных и сбалансированных троичных чисел. Далее строки, обозначающие сбалансированную тройную запись, имеют суффикс bal3 . Например,
Аналогично, первое место справа от точки счисления имеет 3 −1 =1/3, второе место занимает 3 −2 =1/9, и так далее. Например,
Целое число делится на три тогда и только тогда, когда цифра на месте единиц равна нулю.
Мы можем проверить четность сбалансированного троичного целого числа, проверив четность суммы всех тритов. Эта сумма имеет ту же четность, что и само целое число.
Сбалансированную тройную систему также можно расширить до дробных чисел, аналогично тому, как десятичные числа записываются справа от точки счисления . [5]
В десятичном или двоичном виде целые значения и конечные дроби имеют несколько представлений. Например,1/10знак равно 0,1 = 0,1 0 = 0,0 9 . И,1/2знак равно 0,1 2 знак равно 0,1 0 2 знак равно 0,0 1 2 . Некоторые сбалансированные тройные дроби также имеют несколько представлений. Например,1/6= 0,1 𝖳 бал3 = 0,0 1 бал3 . Конечно, в десятичной и двоичной системе счисления мы можем опустить крайние правые бесконечные 0 после точки счисления и получить представление целой или конечной дроби. Но в сбалансированной тройной системе мы не можем опустить крайние правые конечные бесконечные -1 после точки счисления, чтобы получить представление целого числа или конечной дроби.
Дональд Кнут [6] отметил, что усечение и округление — это одна и та же операция в сбалансированной троичной системе: они дают точно такой же результат (свойство, общее с другими сбалансированными системами счисления). Номер1/2не является исключительным; у него есть два одинаково допустимых представления и два одинаково допустимых усечения: 0.1 ( округление до 0 и усечение до 0) и 1. 𝖳 (округление до 1 и усечение до 1). При нечетной системе счисления двойное округление также эквивалентно прямому округлению до конечной точности, в отличие от четной системы счисления.
Основные операции — сложение, вычитание, умножение и деление — выполняются как в обычном троичном числе. Умножение на два можно выполнить, прибавив число к самому себе или вычитая само себя после сдвига влево на a-trit.
Арифметический сдвиг сбалансированного троичного числа влево эквивалентен умножению на (положительную, целую) степень 3; а арифметический сдвиг сбалансированного троичного числа вправо эквивалентен делению на (положительную, целую) степень 3.
Преобразование повторяющегося сбалансированного троичного числа в дробь аналогично преобразованию повторяющегося десятичного числа . Например (из-за 111111 bal3 =(3 6 − 1/3 − 1) декабрь ):
Как и в любой другой системе целых чисел, алгебраические иррациональные и трансцендентные числа не заканчиваются и не повторяются. Например:
Сбалансированные троичные расширения даны в OEIS как A331313, а в A331990.
Несбалансированную троичную запись можно преобразовать в сбалансированную троичную запись двумя способами:
Если три значения троичной логики — «ложь », «неизвестно» и «истина» , и они отображаются в сбалансированную троицу как T, 0 и 1 и в обычные беззнаковые троичные значения как 0, 1 и 2, то сбалансированную троицу можно рассматривать как смещенное число. система, аналогичная смещенной двоичной системе. Если троичное число имеет n тритов, то смещение b равно
которая представлена как все единицы либо в общепринятой, либо в предвзятой форме. [7]
В результате, если эти два представления используются для сбалансированных и беззнаковых троичных чисел, беззнаковое n -тритное положительное троичное значение может быть преобразовано в сбалансированную форму путем добавления смещения b , а положительное сбалансированное число может быть преобразовано в беззнаковую форму путем вычитания предвзятость б . Более того, если x и y — сбалансированные числа, их сбалансированная сумма равна x + y — b при вычислении с использованием обычной троичной арифметики без знака. Аналогично, если x и y — обычные троичные числа без знака, их сумма равна x + y + b при вычислении с использованием сбалансированной троичной арифметики.
Мы можем преобразовать в сбалансированную тройную систему по следующей формуле:
где,
Например,
−25,4 дес = −(1T×101 1 + 1TT×101 0 + 11×101 −1 ) = −(1T×101 + 1TT + 11÷101) = −10T1. 11ТТ = Т01Т. ТТ11
1010,1 2 = 1T 10 + 1T 1 + 1T −1 = 10T + 1T + 0,1 = 101,1
Таблицы сложения, вычитания, умножения и деления одной триты показаны ниже. Для вычитания и деления, которые не являются коммутативными , первый операнд указывается слева от таблицы, а второй — вверху. Например, ответ на вопрос 1 — T = 1T находится в левом нижнем углу таблицы вычитания.
Многотритное сложение и вычитание аналогично двоичному и десятичному. Добавляйте и вычитайте трит за тритом и соответствующим образом добавляйте перенос. Например:
1ТТ1ТТ.1ТТ1 1ТТ1ТТ.1ТТ1 1ТТ1ТТ.1ТТ1 1ТТ1ТТ.1ТТ1 + 11Т1.Т − 11Т1.Т − 11Т1.Т → + ТТ1Т.1 ______________ ______________ _______________ 1T0T10.0TT1 1T1001.TTT1 1T1001.TTT1 + 1Т + Т Т1 + ТТ ______________ ________________ ________________ 1Т1110.0ТТ1 1110ТТ.ТТТ1 1110ТТ.ТТТ1 + Т + Т 1 + Т 1 ______________ ________________ ________________ 1Т0110.0ТТ1 1100Т.ТТТ1 1100Т.ТТТ1
Многотритное умножение аналогично двоичному и десятичному умножению.
1ТТ1.ТТ × Т11Т.1 _____________ 1TT.1TT умножить на 1 T11T.11 умножить T 1TT1T.T умножить 1 1TT1TT умножить на 1 T11T11 умножить T _____________ 0T0000T.10T
Сбалансированное троичное деление аналогично двоичному и десятичному делению.
Однако 0,5 dec = 0,1111... bal3 или 1.TTTT... bal3 . Если делимое превышает плюс или минус половину делителя, трит частного должен быть 1 или Т. Если делимое находится между плюсом и минусом половины делителя, трит частного равен 0. Величина делимого должна перед установкой частного trit сравнивается с половиной делителя. Например,
1TT1.TT коэффициент0,5 × делитель Т01,0 _____________ делитель T11T.1 ) Делимое T0000T.10T T11T1 T000 < T010, установите 1 _______ 1T1T0 1TT1T 1T1T0 > 10T0, установите T _______ 111Т 1TT1T 111T > 10T0, установите T _______ Т00.1 T11T.1 T001 < T010, набор 1 ________ 1T1.00 1TT.1T 1T100 > 10T0, установите T ________ 1Т.Т1Т 1T.T1T 1TT1T > 10T0, установите T ________ 0
Другой пример,
1ТТТ 0,5 × делитель 1Т _______ Делитель 11 )1T01T 1T = 1T, но 1T.01 > 1T, устанавливаем 1 11 _____ T10 T10 < T1, установите T ТТ ______ T11 T11 < T1, установите T ТТ ______ ТТ ТТ < Т1, установите Т ТТ ____ 0
Другой пример,
101. ТТТТТТТ... или 100.111111111... 0,5 × делитель 1Т _________________ делитель 11 )111T 11 > 1T, набор 1 11 _____ 1 T1 < 1 < 1T, установите 0 ___ 1T 1T = 1T, трицы заканчиваются, устанавливаем 1.ТТТТТТТТ... или 0,111111111...
Процесс извлечения квадратного корня в сбалансированной троичной системе аналогичен процессу извлечения квадратного корня в десятичной или двоичной системе.
Как и при делении, мы должны сначала проверить значение половины делителя. Например,
1. 1 1 Т 1 ТТ 0 0 ... _________________________ √ 1T 1<1T<11, установите 1 − 1 _____ 1×10=10 1,0T 1,0T>0,10, набор 1 1T0 −1.T0 ________ 11×10=110 1T0T 1T0T>110, набор 1 10Т0 −10Т0 ________ 111×10=1110 T1T0T T1T0T<TTT0, установите T 100T0 −T0010 _________ 111T×10=111T0 1TTT0T 1TTT0T>111T0, набор 1 10Т110 −10Т110 __________ 111T1×10=111T10 TT1TT0T TT1TT0T<TTT1T0, установите T 100TTT0 −T001110 ___________ 111T1T×10=111T1T0 T001TT0T T001TT0T<TTT1T10, установите T 10T11110 −T01TTTT0 ____________ 111T1TT×10=111T1TT0 T001T0T TTT1T110<T001T0T<111T1TT0, установите 0 − Т Возврат 1 ___________ 111T1TT0×10=111T1TT00 T001T000T TTT1T1100<T001T000T<111T1TT00, установите 0 − Т Возврат 1 _____________ 111T1TT00*10=111T1TT000 T001T00000T ...
Извлечение кубического корня в сбалансированной троичной системе аналогично извлечению в десятичной или двоичной системе:
Как и при делении, мы также должны сначала проверить значение половины делителя. Например:
1. 1 Т 1 0 ... _____________________ ³√ 1Т − 1 1<1T<10T, установите 1 _______ 1.000 1×100=100 −0,100 одолжить 100×, сделать деление _______ 1TT 1.T00 1T00>1TT, набор 1 1×1×1000+1=1001 -1,001 __________ Т0Т000 11×100 − 1100 одолжить 100×, сделать деление _________ 10T000 TT1T00 TT1T00<T01000, установите T 11×11×1000+1=1TT1001 −T11T00T ____________ 1TTT01000 11T×100 − 11T00 одолжить 100×, сделать деление ___________ 1T1T01TT 1TTTT0100 1TTTT0100>1T1T01TT, комплект 1 11Т×11Т×1000+1=11111001 − 11111001 ______________ 1Т10Т000 11T1×100 − 11T100 одолжить 100×, сделать деление __________ 10T0T01TT 1T0T0T00 T01010T11<1T0T0T00<10T0T01TT, установите 0 11T1×11T1×1000+1=1TT1T11001 − TT1T00 возврат 100× _____________ 1T10T000000 ...
Следовательно, 3 √ 2 = 1,259921 dec = 1,1T1 000 111 001 T01 00T 1T1 T10 111 bal3 .
На заре вычислительной техники несколько экспериментальных советских компьютеров были построены со сбалансированной троичной системой вместо двоичной, наиболее известной из которых была «Сетунь» , созданная Николаем Брусенцовым и Сергеем Соболевым . Обозначение имеет ряд вычислительных преимуществ по сравнению с традиционными двоичными и троичными числами. В частности, согласованность плюс-минус снижает скорость переноса при многозначном умножении, а эквивалентность округления-усечения снижает скорость переноса при округлении дробей. В сбалансированной троичной таблице однозначная таблица умножения остается однозначной и не имеет переноса, а таблица сложения имеет только два переноса из девяти записей, по сравнению с несбалансированной троичной таблицей с одной и тремя соответственно. Кнут писал: «Возможно, симметричные свойства и простая арифметика этой системы счисления когда-нибудь окажутся весьма важными», [6] отмечая, что:
Сложность арифметических схем сбалансированной троичной арифметики ненамного выше, чем для двоичной системы, и для представления данного числа требуется лишь столько же разрядов» [6] .
Теорема о том, что каждое целое число имеет уникальное представление в сбалансированной тройной системе, была использована Леонардом Эйлером для обоснования идентичности формальных степенных рядов [8]
Помимо вычислений, сбалансированная тройная система имеет и другие применения. Например, классические весы с двумя чашками , с одной гирей на каждую степень 3, могут точно взвешивать относительно тяжелые предметы с небольшим количеством гирь, перемещая гири между двумя чашками и столом. Например, с гирями для каждой степени от 3 до 81 объект массой 60 грамм (60 dec = 1T1T0 bal3 ) будет идеально сбалансирован с гирькой массой 81 грамм в другой чашке, гирькой массой 27 граммов в своей собственной чашке, гирькой массой 9 граммов в другой чашке. граммовую гирю в другую кастрюлю, 3-граммовую гирю в свою собственную кастрюлю и 1-граммовую гирю отложить в сторону.
Аналогичным образом рассмотрим денежную систему с монетами номиналом 1 ¤, 3 ¤, 9 ¤, 27 ¤, 81 ¤. Если у покупателя и продавца есть только по одной монете каждого вида, возможна любая сделка на сумму до 121 цента. Например, если цена составляет 7 центов (7 декабрь = 1T1 bal3 ), покупатель платит 1 цент + 9 центов и получает сдачу 3 цента.
Они также могут обеспечить более естественное представление кутрита и систем, которые его используют.
{{cite book}}
: CS1 maint: location missing publisher (link)