Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Сбалансированная тройной является тройной система счисления (т.е. основание 3 с тремя цифрами ) , которая использует сбалансированное знаково-значное представление о целых числах , в которых цифры имеют значение -1 , 0 и 1 . Это контрастирует со стандартной (несбалансированной) троичной системой, в которой цифры имеют значения 0, 1 и 2. Сбалансированная троичная система может представлять все целые числа без использования отдельного знака минус ; значение первой ненулевой цифры числа имеет знак самого числа. В то время как двоичные числа с цифрами 0 и 1 обеспечивают простейшую позиционную систему счисления для натуральных чисел(или для положительных целых чисел, если в качестве цифр используются 1 и 2), сбалансированная троичная система обеспечивает простейшую автономную позиционную систему счисления [ необходимо определение ] для целых чисел . Сбалансированная троичная система является примером нестандартной позиционной системы счисления . Он использовался в некоторых ранних компьютерах [1], а также в некоторых решениях головоломок с балансом . [2]

В разных источниках используются разные глифы для представления трех цифр в сбалансированной троичной системе. В этой статье T (который напоминает лигатуру знака минус и 1) представляет -1 , а 0 и 1 представляют сами себя. Другие соглашения включают использование «-» и «+» для представления −1 и 1 соответственно или использование греческой буквы тета (Θ), которая напоминает знак минус в круге, для представления −1. В публикациях о компьютере Сетунь -1 представляется перевернутым 1: "1". [1]

Сбалансированная тройная система впервые появилась в книге Майкла Стифеля Arithmetica Integra (1544). [3] Это также встречается в работах Иоганна Кеплера и Леона Лаланна . Связанные схемы подписанных цифр в других базах обсуждались Джоном Колсоном , Джоном Лесли , Огюстэном-Луи Коши и, возможно, даже древними индийскими Ведами . [2]

Определение [ править ]

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

[примечание 1] и

где правые части - целые числа с их обычными (десятичными) значениями. Эта функция строго и формально устанавливает, как целочисленные значения присваиваются символам / глифам. Одним из преимуществ этого формализма является то, что определение «целых чисел» (как бы они ни определялись) не связано с какой-либо конкретной системой записи / представляя их; таким образом, эти две различные (хотя и тесно связанные) концепции сохраняются отдельно.

Набор вместе с функцией образует сбалансированное представление цифр со знаком, называемое сбалансированной троичной системой. Его можно использовать для представления целых и действительных чисел.

Тернарное целочисленное вычисление [ править ]

Пусть будет Клини плюс из , что множество всех конечной длины конкатенированных строка из одного или более символов ( так называемая его цифры ) , где представляет собой неотрицательное целое число , а все цифры взяты из The старта из символа (справа ), ее конец находится (слева), а его длина составляет . Тройная оценка является функция определяется путем присваивания каждой строке целого числа

Строка представляет (по отношению ) целое число. В качестве альтернативы значение может быть обозначено как Карта является сюръективной, но не инъективной, поскольку, например , каждое целое число имеет ровно одно представление, под которым не заканчивается (слева) символ т.е.

Если и затем удовлетворяет:

что показывает, что удовлетворяет своего рода рекуррентному соотношению . Это рекуррентное отношение имеет три начальных условия, по одному для каждого, где Явно они есть и

Это означает, что для каждой строки

что на словах говорит о том, что ведущие символы (слева в строке из 2 или более символов) не влияют на результирующее значение.

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

и используя указанное выше рекуррентное соотношение

Преобразование в десятичное [ править ]

В сбалансированной троичной системе значение цифры на n знаков слева от точки счисления является произведением цифры и 3 n . Это полезно при преобразовании между десятичными и сбалансированными троичными числами. Далее в строках, обозначающих сбалансированную троичную систему, присутствует суффикс bal3 . Например,

10 бал3 = 1 × 3 1 + 0 × 3 0 = 3 10
10ᴛ bal3 = 1 × 3 2 + 0 × 3 1 + (−1) × 3 0 = 8 10
−9 10 = −1 × 3 2 + 0 × 3 1 + 0 × 3 0 = ᴛ00 bal3
8 10 = 1 × 3 2 + 0 × 3 1 + (−1) × 3 0 = 10ᴛ bal3

Аналогично, первое место справа от точки счисления занимает 3 −1 =1/3, на втором месте 3 −2 =1/9, и так далее. Например,

-2/310 = -1 +1/3= −1 × 3 0 + 1 × 3 −1 = ᴛ.1 bal3 .

Целое число делится на три тогда и только тогда, когда цифра в разряде единиц равна нулю.

Мы можем проверить четность сбалансированного троичного целого числа, проверив четность суммы всех тритов . Эта сумма имеет ту же четность, что и само целое число.

Сбалансированная троичная система также может быть расширена до дробных чисел, подобно тому, как десятичные числа записываются справа от точки счисления . [4]

В десятичном или двоичном формате целочисленные значения и завершающие дроби имеют несколько представлений. Например,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 bal3 = 0,0 1 bal3 . Конечно, в десятичной и двоичной системе счисления мы можем опустить крайние правые конечные бесконечные нули после точки счисления и получить представление целого числа или завершающей дроби. Но в сбалансированной троичной системе мы не можем опустить крайнюю правую конечную конечную цифру −1 после точки счисления, чтобы получить представление целого числа или конечной дроби.

Дональд Кнут [5] указал, что усечение и округление - это одна и та же операция в сбалансированной троичной системе - они дают точно такой же результат (свойство, разделяемое с другими сбалансированными системами счисления). Номер1/2не является исключительным; она имеет две одинаково действительные представления, и два равноправных усечения: 0. 1 (круглые 0, и усечь до 0) и 1. (круглый 1, а отсечение на 1). С нечетным поразрядным , дважды округление также эквивалентно непосредственно округлением до конечной точности, в отличии от равномерных поразрядного.

Основные операции - сложение, вычитание, умножение и деление - выполняются как в обычной троичной системе. Умножение на два может быть выполнено путем прибавления числа к самому себе или вычитания самого себя после сдвига влево.

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

Преобразование в дробь и обратно [ править ]

Преобразование повторяющегося сбалансированного троичного числа в дробь аналогично преобразованию повторяющегося десятичного числа . Например (из-за 111111 bal3 = (3 6 - 1/3 - 1) 10 ):

Иррациональные числа [ править ]

Как и в любой другой базе целых чисел, алгебраические иррациональные и трансцендентные числа не заканчиваются и не повторяются. Например:

Сбалансированные тройные расширения представлены в OEIS как A331313 , а в A331990 .

Преобразование из троичного [ править ]

Несбалансированную троичную систему можно преобразовать в сбалансированную троичную систему двумя способами:

  • Добавьте 1 тритт за тритоном из первого ненулевого тритта с переносом, а затем вычтите 1 тритт за тритоном из того же тритта без заимствования. Например,
    021 3 + 11 3 = 102 3 , 102 3 - 11 3 = 1T1 bal3 = 7 10 .
  • Если 2 присутствует в тройном, превратите его в 1T. Например,
    0212 3 = 0010 bal3 + 1T00 bal3 + 001T bal3 = 10TT bal3 = 23 10

Если три значения тернарной логики являются ложными , неизвестными и истинными , и они отображаются в сбалансированную троичную систему как T, 0 и 1 и на обычные тернарные значения без знака как 0, 1 и 2, тогда сбалансированная троичная система может рассматриваться как смещенное число. система аналогична двоичной системе смещения . Если троичное число имеет n тритов, то смещение b равно

который представлен как все в общепринятой или предвзятой форме. [6]

В результате, если эти два представления используются для сбалансированных и беззнаковых троичных чисел, положительное тройное значение без знака n -trit может быть преобразовано в сбалансированную форму путем добавления смещения b, а положительное сбалансированное число может быть преобразовано в форму без знака путем вычитания предвзятость b . Кроме того, если x и y являются сбалансированными числами, их сбалансированная сумма равна x + y - b при вычислении с использованием традиционной тернарной арифметики без знака. Точно так же, если x и y - обычные тернарные числа без знака, их сумма равна x + y + b. при вычислении с использованием сбалансированной троичной арифметики.

Преобразование в сбалансированную троицу из любой целочисленной базы [ править ]

Мы можем преобразовать в сбалансированную троичную систему по следующей формуле:

куда,

а н а п −1 ... а 1 а 0 . c 1 c 2 c 3 ... - исходное представление в исходной системе счисления.
b - исходная система счисления. b равно 10 при преобразовании из десятичного числа.
a k и c k - цифры k слева и справа от точки счисления соответственно.

Например,

−25,4 10 = - (1T × 101 1 + 1TT × 101 0 + 11 × 101 −1 ) = - (1T × 101 + 1TT + 11 ÷ 101) = −10T1. 11TT = T01T. TT11
1010,1 2 = 1T 10 + 1T 1 + 1T -1 = 10T + 1T + 0. 1 = 101. 1

Сложение, вычитание, умножение и деление [ править ]

Таблицы простого сложения, вычитания, умножения и деления показаны ниже. Для вычитания и деления, которые не являются коммутативными , первый операнд указывается слева от таблицы, а второй - вверху. Например, ответ на 1 - T = 1T находится в нижнем левом углу таблицы вычитания.

Сложение и вычитание мульти-трит [ править ]

Многоточечное сложение и вычитание аналогично двоичному и десятичному. Добавляйте и вычитайте трение за трением и соответствующим образом прибавляйте переносимость. Например:

 1TT1TT.1TT1 1TT1TT.1TT1 1TT1TT.1TT1 1TT1TT.1TT1 + 11T1.T - 11T1.T - 11T1.T → + TT1T.1 ______________ ______________ _______________ 1T0T10.0TT1 1T1001.TTT1 1T1001.TTT1 + 1Т + Т Т1 + ТТ ______________ ________________ ________________ 1T1110.0TT1 1110TT.TTT1 1110TT.TTT1 + Т + Т 1 + Т 1 ______________ ________________ ________________ 1T0110.0TT1 1100T.TTT1 1100T.TTT1

Многоточечное умножение [ править ]

Многоточечное умножение аналогично двоичному и десятичному умножению.

 1TT1.TT × T11T.1 _____________ 1TT.1TT умножить на 1 T11T.11 умножить T 1TT1T.T умножить 1 1TT1TT умножить на 1 T11T11 умножить T _____________ 0T0000T.10T

Многоточечное деление [ править ]

Сбалансированное троичное деление аналогично двоичному и десятичному делению.

Однако 0,5 10 = 0,1111 ... bal3 или 1.TTTT ... bal3 . Если дивиденд превышает делитель плюс или минус половины, дробь частного должна быть 1 или T. Если дивиденд находится между плюсом и минусом половины делителя, дробь частного равна 0. Величина делимого должна быть сравнивать с половиной делителя перед установкой частного trit. Например,

 1TT1.TT частное0,5 × делитель T01.0 _____________  делитель T11T.1) T0000T.10T дивиденд  T11T1 T000 <T010, набор 1 _______ 1T1T0 1TT1T 1T1T0> 10T0, установите T  _______ 111T 1TT1T 111T> 10T0, установить T _______ T00.1 T11T.1 T001 <T010, набор 1 ________ 1T1.00 1TT.1T 1T100> 10T0, установите T ________ 1Т.Т1Т 1T.T1T 1TT1T> 10T0, установите T ________ 0

Другой пример,

 1TTT 0,5 × делитель 1Т _______ Делитель 11) 1T01T 1T = 1T, но 1T.01> 1T, установите 1 11 _____ T10 T10 <T1, установите T TT ______ T11 T11 <T1, установить T TT ______ TT TT <T1, установить T TT ____ 0

Другой пример,

 101.TTTTTTTTT…  или 100.111111111…  0,5 × делитель 1Тл _________________ делитель 11) 111T 11> 1T, набор 1 11 _____ 1 T1 <1 <1T, установить 0 ___ 1T 1T = 1T, trits end, установить 1.TTTTTTTTT… или 0,111111111…

Квадратные корни и кубические корни [ править ]

Процесс извлечения квадратного корня из сбалансированной троичной системы аналогичен процессу извлечения из десятичной или двоичной системы.

Как и при делении, мы должны сначала проверить значение половины делителя. Например,

 1. 1 1 T 1 TT 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 10T0 −10T0 ________ 111 × 10 = 1110 T1T0T T1T0T <TTT0, установить T 100T0 -T0010 _________ 111T × 10 = 111T0 1TTT0T 1TTT0T> 111T0, набор 1 10T110 −10T110 __________ 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 - T Возврат 1 ___________ 111T1TT0 × 10 = 111T1TT00 T001T000T TTT1T1100 <T001T000T <111T1TT00, установить 0 - T Возврат 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 __________ T0T000 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 11Т1 × 100 - 11Т100 заимствовать 100 ×, делить деление __________ 10T0T01TT 1T0T0T00 T01010T11 <1T0T0T00 <10T0T01TT, установите 0 11T1 × 11T1 × 1000 + 1 = 1TT1T11001 - TT1T00 возврат 100 × _____________ 1T10T000000 ... 

Следовательно, 32 = 1,259921 10 = 1,1T1 000 111001 T01 00T 1T1 T10 111 bal3 .

Приложения [ править ]

В компьютерном дизайне [ править ]

На заре вычислений несколько экспериментальных советских компьютеров были построены со сбалансированным троичным вместо двоичного, самым известным из которых был Сетунь , построенный Николаем Брусенцовым и Сергеем Соболевым . Обозначение имеет ряд вычислительных преимуществ перед традиционными двоичными и троичными. В частности, согласованность «плюс-минус» снижает скорость переноса при многозначном умножении, а эквивалентность округления-усечения снижает скорость переноса при округлении дробей. В сбалансированной троичной системе однозначная таблица умножения остается однозначной и не имеет переноса, а таблица сложения имеет только два переноса из девяти записей, по сравнению с несбалансированной троичной с одной и тремя соответственно.

«Сложность арифметической схемы для сбалансированной троичной арифметики не намного больше, чем для двоичной системы, и для данного числа требуется ровно столько позиций цифр для его представления». [5] «Возможно, симметричные свойства и простая арифметика этой системы счисления однажды окажутся весьма важными». [5]

Другие приложения [ править ]

Теорема о том, что каждое целое число имеет уникальное представление в сбалансированной троичной системе, была использована Леонардом Эйлером для обоснования тождества формальных степенных рядов [7]

У сбалансированной троичной системы есть и другие приложения помимо вычислений. Например, классические весы с двумя чашами , с одним гирем для каждой степени 3, могут точно взвешивать относительно тяжелые предметы с небольшим количеством гирь, перемещая гири между двумя чашами и столом. Например, с грузами для каждой степени от 3 до 81, 60-граммовый объект (60 10 = 1T1T0 bal3 ) будет идеально сбалансирован с 81-граммовым грузом на другой чаше, 27-граммовым грузом на своей собственной чаше, 9 грамм веса в другой кастрюле, 3 грамма в отдельной кастрюле и 1 грамм отложите.

Аналогичным образом рассмотрим валютную систему с монетами достоинством 1¤, 3¤, 9¤, 27¤, 81¤. Если у покупателя и продавца есть только по одной монете каждого вида, возможна любая транзакция до 121¤. Например, если цена 7¤ (7 10 = 1T1 bal3 ), покупатель платит 1¤ + 9¤ и получает 3¤ сдачей.

Они также могут обеспечить более естественное представление кутрита и систем, которые его используют.

См. Также [ править ]

  • Методы вычисления квадратных корней
  • Система счисления
  • Qutrit
  • Таблетка салями
  • Тернарный компьютер
    • Сетунь , троичный компьютер
  • Тернарная логика

Ссылки [ править ]

  1. ^ a b Н.А. Криницкий; Г.А.Миронов; Г. Д. Фролов (1963). «Глава 10. Программно-управляемая машина Setun». В сб. М.Р.Шура-Бура (ред.). Программирование . Москва.
  2. ^ Б Hayes, Брайан (2001), "Третья база" (PDF) , американский ученый , 89 (6): 490-494, DOI : 10,1511 / 2001.40.3268 . Перепечатано в Hayes, Brian (2008), Group Theory in the Bedroom, and Other Mathematical Diversions , Farrar, Straus and Giroux, pp. 179–200, ISBN 9781429938570
  3. ^ Стифель, Майкл (1544), Arithmetica integ (на латыни), стр. 38.
  4. Bhattacharjee, Abhijit (24 июля 2006 г.). «Сбалансированная тройка» . Архивировано из оригинала на 2009-09-19.
  5. ^ a b c Кнут, Дональд (1997). Искусство программирования . 2 . Эддисон-Уэсли. С. 195–213. ISBN 0-201-89684-2.
  6. Дуглас У. Джонс, Тернарные системы счисления , 15 октября 2013 г.
  7. ^ Эндрюс, Джордж Э. (2007). "De Partitio numerorum " Эйлера " " . Бюллетень Американского математического общества . Новая серия. 44 (4): 561–573. DOI : 10.1090 / S0273-0979-07-01180-9 . Руководство по ремонту 2338365 . 
  1. ^ Символпоявляется дважды в равенстве,но эти экземпляры не представляют одно и то же. Правая частьозначает целое число ноль, но экземплярвнутрикруглых скобок (который принадлежит) следует рассматривать как не что иное, как символ (без смысла). Причина этого в том, что, хотя эта статья случайно выбрала(именно этот выбор привел к двусмысленности), этот набор мог, например, состоять из символов.Эту неоднозначность можно устранить, заменив "" предложением "равно целому нулю " или с "", где символобозначает обычное целочисленное значение по основанию десять. То же самое и с символом в равенстве

Внешние ссылки [ править ]

  • Разработка троичных компьютеров в МГУ
  • Представление дробных чисел в сбалансированной троичной системе
  • «Третья основа» , троичная и сбалансированная троичная системы счисления
  • Сбалансированная троичная система счисления (включает десятичное целое в сбалансированный троичный преобразователь)
  • Последовательность OEIS A182929 (биномиальный треугольник, приведенный к сбалансированным троичным спискам)
  • Сбалансированная (подписанная) троичная нотация Брайана Дж. Шелбурна (файл PDF)
  • Тернарная вычислительная машина Томаса Фаулера Марка Глускера