stringtranslate.com

Сбалансированный троичный

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

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

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

Определение

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

и
[4]

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

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

Оценка троичного целого числа

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

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

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

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

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

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

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

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

Перевод в десятичную систему

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

10 бал3 = 1 × 3 1 + 0 × 3 0 = 3 дек
10𝖳 бал3 = 1 × 3 2 + 0 × 3 1 + (−1) × 3 0 = 8 дек.
−9 дек = −1 × 3 2 + 0 × 3 1 + 0 × 3 0 = 𝖳00 бал3
8 дез = 1 × 3 2 + 0 × 3 1 + (−1) × 3 0 = 10𝖳 бал3

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

2/3дек = −1 + 1/3 = −1 × 3 0 + 1 × 3 −1 = 𝖳.1 бал3 .

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

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

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

Дональд Кнут [6] указал, что усечение и округление являются одной и той же операцией в сбалансированной троичной системе счисления — они дают совершенно одинаковый результат (свойство, общее с другими сбалансированными системами счисления). Число 1/2 не является исключением ; у него есть два равноправных представления и два равноправных усечения: 0. 1 (округлить до 0 и усечь до 0) и 1. 𝖳 (округлить до 1 и усечь до 1). При нечетном основании двойное округление также эквивалентно прямому округлению до конечной точности, в отличие от четного основания.

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

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

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

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

Иррациональные числа

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

Сбалансированное троичное разложение дано в OEIS как A331313, а разложение — как A331990.

Преобразование из троичного

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

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

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

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

Преобразование в сбалансированную троичную систему счисления из любого целочисленного основания

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

где,

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

Например,

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

Сложение, вычитание, умножение и деление

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

Многотритное сложение и вычитание

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

 1TT1TT.1TT1 1TT1TT.1TT1 1TT1TT.1TT1 1TT1TT.1TT1 + 11Т1.Т − 11Т1.Т − 11Т1.Т → + ТТ1Т.1 ______________ ______________ _______________ 1T0T10.0TT1 1T1001.TTT1 1T1001.TTT1 + 1Т + Т Т1 + ТТ ______________ ________________ ________________ 1T1110.0TT1 1110TT.TTT1 1110TT.TTT1 + Т + Т 1 + Т 1 ______________ ________________ ________________ 1Т0110.0ТТ1 1100Т.ТТТ1 1100Т.ТТТ1

Многотритное умножение

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

 1TT1.TT × Т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 . Если делимое больше плюса или минуса делителя, то trit частного должен быть равен 1 или T. Если делимое находится между плюсом и минусом половины делителя, то trit частного равен 0. Величину делимого необходимо сравнить с величиной половины делителя перед установкой trit частного. Например,

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

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

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

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

 101.ТТТТТТТ... или 100.111111111... 0,5 × делитель 1T _________________ делитель 11 )111T 11 > 1T, набор 1 11 _____ 1 T1 < 1 < 1T, установить 0 ___ 1T 1T = 1T, триты заканчиваются, устанавливается 1.TTTTTTTTTT... или 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 ... _____________________ ³√ 1T − 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=1ТТ1001 −Т11Т00Т ____________ 1ТТТ01000 11T×100 − 11T00 занять 100×, выполнить деление ___________ 1T1T01TT 1TTTT0100 1TTTT0100>1T1T01TT, набор 1 11T×11T×1000+1=11111001 − 11111001 ______________ 1T10T000 11T1×100 − 11T100 заимствовать 100×, выполнить деление __________ 10T0T01TT 1T0T0T00 T01010T11<1T0T0T00<10T0T01TT, установить 0 11T1×11T1×1000+1=1TT1T11001 − TT1T00 вернуть 100× _____________ 1T10T000000 ...

Следовательно, 32 = 1,259921 дец = 1,1T1 000 111 001 T01 00T 1T1 T10 111 бал3 .

Приложения

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

Операционные столы

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

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

Другие приложения

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

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

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

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

Смотрите также

Ссылки

  1. ^ ab Н.А.Криницкий; Г.А.Миронов; Г.Д.Фролов (1963). "Глава 10. Программно-управляемая машина Сетунь". В М.Р.Шура-Бура (ред.). Программирование . Москва.{{cite book}}: CS1 maint: location missing publisher (link)
  2. ^ ab Hayes, Brian (2001), «Третья база» (PDF) , American Scientist , 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, стр. 179–200, ISBN 9781429938570
  3. ^ Стифель, Майкл (1544), Arithmetica integra (на латыни), apud Iohan Petreium, p. 38.
  4. ^ Символы и появляются дважды в равенствах и , но эти примеры не представляют одно и то же. Правая часть и означает целые числа , но примеры внутри скобок (которые принадлежат ) следует рассматривать как не более чем символы.
  5. ^ Бхаттачарджи, Абхиджит (24 июля 2006 г.). "Сбалансированная тройка". Архивировано из оригинала 2009-09-19.
  6. ^ abc Кнут, Дональд (1997). Искусство программирования . Том 2. Эддисон-Уэсли. С. 195–213. ISBN 0-201-89684-2.
  7. Дуглас У. Джонс, Троичные системы счисления, 15 октября 2013 г.
  8. ^ Эндрюс, Джордж Э. (2007). «De Partitio numerorum» Эйлера». Бюллетень Американского математического общества . Новая серия. 44 (4): 561–573. дои : 10.1090/S0273-0979-07-01180-9 . МР  2338365.

Внешние ссылки