Троичная система счисления в информатике

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

Какие бывают системы счисления

В обычной жизни людьми применяется десятичная система счисления, включающая цифры от 0 до 9. В информатике принято использовать двоичную систему, включающую только 0 и 1. Однако это не мешает существовать и другим системам, вроде троичной, которая состоит из цифр 0,1 и 2. Она менее популярна, чем названные выше, однако понимание того, как переводить в троичную систему счисления, будет полезно изучающим информатику. В статье приведены простые примеры перевода.

Как переводить в троичную систему счисления из десятичной

Данный способ перевода весьма прост и схож с переводом в двоичную систему. Необходимо взять десятичное число, и поделить на основание системы (в троичной – число 3), пока в остатке не останется число меньше трёх. Затем все остатки записываются в обратном порядке.

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

Пример перевода

В качестве примера того, как переводить в троичную систему счисления, можно использовать число 100. Для начала запишите число и делите его на 3. Получается: 100/3=33(остаток 1)/3=11(остаток 0)/3=3(остаток 2)/3=1(остаток 0). Затем следует выписать все цифры:10201. Напишите число наоборот (от последней цифре к первой). В данном примере получится тоже самое число, однако может быть иное число, вроде 22102, которое запишется как 20122.

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

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

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

Пример перевода

Для примера того, как счисление чисел в троичной системе можно вернуть к десятичной, используем ранее названное число 20122. Для начала над каждой цифрой укажите её порядковый номер 2 4 0 3 1 2 2 1 2 0 . Затем каждое число следует умножить на основание троичной системы, которое возводится в степень по номеру числа: 2*3 4 +1*3 2 +2*3 1 +2*3 0 . Полученные результаты суммируются (162+9+6+2). В результате будет число 179. При этом можно заметить, что цифра 0 была не записана. При желании её тоже можно учитывать, однако она даст лишь нулевой результат.

Как просто переводить числа из разных систем

Если такой способ подсчёта кажется слишком долгим, то всегда можно воспользоваться онлайн-калькуляторами. Большое число современных сервисов работает с троичной системой и многими другими. Вместе с этим можно посмотреть, как выполнялся перевод в троичную систему счисления и вспомнить, как правильно считать или проверить на ошибки.

При этом не следует забывать про учебные пособия. Необходимость перевода в разные системы счисления зачастую возникает у школьников и студентов, которые изучают информатику. Большая часть учебников имеет в своём содержании раздел со значениями перевода. Также для учащихся вузов существует множество справочников с огромным объемом данных, в том числе троичной системой счисления, правилами перевода и основными целыми значениями.

Что делать с дробными выражениями

Работать с подобными числами тоже возможно. Способ перевода схож с описанным ранее, однако необходимо учитывать отдельные детали. В процессе перевода дробное число также делится на 3, однако если полученный результат не целый, к примеру 1,236. В таком случае записывается лишь число перед запятой (даже 0 учитывается). Затем полученные числа записываются уже после запятой в новой системе счисления, к примеру 0,21022 в троичной системе.

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

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

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

Однако это правильно не действует на двоичную систему, где процедура будет более трудоёмкой. В связи с этим нельзя так просто перевести десятичное отрицательное число в двоичное, как в случае с троичной системой счисления.

Варианты троичной системы счисления

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

Также заслуживает внимание обозначение троичной системы буквами. Обычно это A,B,C, при этом указывается, какое число больше и меньше (A>B>C).

Таблица

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

Читайте также:  Тренировка для быстрого набора текста

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

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

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

Всего три цифры

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

По основанию мы можем понять, как называется система счисления: троичная система имеет основание три, а десятичная – десять (работает и обратное правило – по названию сразу видно основание).

Алфавитом в системах счисления называется набор символов, которые в данном случае используются для записи чисел. Например, в десятичной системе используется десять цифр (считая ноль), а вот в двоичной их всего две, ноль и единица. В троичной же могут применяться 0, 1 и 2. К тому, почему основанием является тройка, а символов в алфавите – четыре, вернемся позже.

Разрядной цифрой называется наименьшее число, которое можно добавить в разряде, а разрядным слагаемым является цифра, записанная в каком-либо определенном разряде с добавлением нужного количества нолей. Максимально возможное значение разрядного слагаемого всегда зависит от системы счисления. Восьмеричная система счисления во втором разряде имеет разрядное слагаемое 70, в двоичной оно будет равно 10, в троичной – 20, а в десятичной – 90.

К примеру, если разложить десятичное число 158 на разрядные слагаемые, получится такой пример: 100+50+8 (третий разряд). А второразрядное число 98 предстанет в виде 90+8.

Алфавит

Числа в троичной системе счисления могут обозначаться как всем привычными цифрами 0, 1 и 2. Тогда это несимметричная троичная система. В симметричной же используются знаки "минус" и "плюс", таким образом, в записях используется число "-1". Оно так же может обозначаться как единица с чертой вверху или внизу, как латинская буква i.

Троичные цифры можно закодировать тремя любыми знаками, например "А,Б,В", однако предварительно необходимо указывать их старшинство (к примеру, А меньше Б, Б меньше В).

Простая формула

Чтобы перевести число из десятичной в троичную систему счисления, нужно воспользоваться общей формулой. Необходимо делить десятичное число на основание необходимой системы и записывать остатки справа налево. Возьмем для примера число 30. Первым действием делим его на 3. Получаем 10 без остатка, поэтому записываем 0. Десять делится на 3 с остатком 1, поэтому записываем 1. В третьем действии 3 делим на основание системы и записываем сначала остаток, затем результат деления. В итоге получаем троичное число 1010.

Арифметические действия

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

Пожалуй, все помнят, по какому принципу составляется сетка в игре "Морской бой": в левом вертикальном столбце записываются цифры, а в верхнем горизонтальном – буквы. Сетку сложения можно составить по тому же принципу. Например, в несимметричной троичной системе всего три символа, таким образом столбцов будет четыре, в каждый из них следует вписать последовательную цепочку цифр. На примере: нижний горизонтальный столбец будет таков: 0, 00, 01, 02. Второй столбец: 1, 01, 02, 10. Третий: 2, 02, 10, 11. Можно расширить таблицу, если требуются числа из других разрядов (например, 001 и т. д.).

Умножение

В троичной системе счисления таблица умножения выглядит короче и лаконичнее, нежели в десятичной, и само действие – не намного сложнее, ведь перемножать придется числа не больше двойки. Чтобы умножить в столбик, необходимо записать два троичных числа друг над другом, затем последовательно умножать первый множитель на разрядные числа второго, пропуская ноль. Таким образом, умножение цифры 102 на 101 будет выглядеть так: 2*1=2, 0*1=0, 1*1=1. Записываем 102. Далее пропускаем ноль и умножаем на единицу (старшее число второго множителя).

Однако сложение в троичной системе счисления можно произвести и без всякой таблицы. Для этого нужно вспомнить простое правило, гласящее: если результат сложения превышает разряд, следует разделить второе число пополам. Разберем пример: допустим, необходимо сложить 6 и 8. Результатом сложения превышает данную разрядность, поэтому делим 8 на 2, получаем 4. Окончательный пример выглядит так: 6+8=(6+4)+4=10+4=14.

Немного истории

Даже для бытовых расчетов не всегда использовалась десятичная система счисления. Троичная система частично использовалась еще у древних шумеров: их меры денег и весов были кратны трем. С древних времен и до наших дней на рычажных весах используется подобие троичной системы. Знаменитым Фибоначчи, итальянский ученым и математиком (настоящее имя – Леонардо Пизанский) была предложена целочисленная симметричная троичная система счисления. Таблица умножения в ней, как заметил французский математик О.Л. Коши, почти в четыре раза короче, по сравнению с десятичной.

Нечетная система счисления

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

Читайте также:  Упростить тригонометрическое выражение примеры

Отрицательные числа

Довольно интересно представление отрицательных цифр в симметричной троичной системе счисления. Так как одним из знаков в алфавите является "-1" или единица с чертой сверху, то отпадает надобность в отдельном разряде знака, а выполнение арифметических операций не нуждаются в использовании обратного кода, так как любые действия с симметричным троичным числом выполняются по обычному правилу, но с учетом знака числа. Положительность или отрицательность числа определяется по тому, какой знак имеет старшее число в последовательности. Чтобы сменить знак числа, нужно инвертировать знаки всех присутствующих в коде чисел.

Взаимодействие с другими системами

Некоторые системы счисления стали знаменитыми благодаря использованию их в компьютерных технологиях. Например двоичная система, или бинарный код – эти слова часто используются в СМИ и кинематографе, так что знакомы они практически всем. А вот восьмеричная система счисления мало у кого на слуху, хотя используется в сфере IT-технологий из-за того, что легко переводится в двоичную и наоборот, но гораздо более емкая.

Для троичной системы таким емким аналогом является девятеричная.

Замена двоичной логики

Основой всех электронно-вычислительных машин нашего времени является двоичная логика, хотя троичная считается более перспективной. Удивительно, но еще в пятидесятые годы прошлого века в компьютере "Сетунь", построенном в МГУ, уже использовался симметричный троичный код. С 2008 года же в калифорнийском университете повторили опыт более чем полувековой давности, построив компьютерную систему ТСА2, также основанную на троичной логике.

Ее преимущества перед бинарной в том, что используется меньше разрядов. Например, число 10 десятичной системы в двоичной системе предстает как 1010, а в троичной несимметричной – как 101, или как +0+ в симметричной. Емкость также играет роль в том случае, если должна быть выбрана определенная система счисления. Троичная логика экономична и может вместить больший диапазон чисел при том же количестве знаков.

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

Квантовый компьютер и троичный код

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

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

Комплексная работа

Да, использование троичного кода в среднем ускоряет работу компьютера на 50 %, но если "перевод" в троичную систему счисления всех устройств все же произойдет, то как же будут работать старые приложения и программы? Неужели придется менять все и сразу? Нет. Троичная логика как стоящая на разряд выше включает в себя все возможности двоичного кода, и, сверх этого, еще и целый ряд преимуществ. Однако программы должны быть оптимизированы под троичный код, иначе будут работать по-старому.

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

Один из недостатков – это проблематичное представление отрицательных чисел.

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

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

Попробуй обратиться за помощью к преподавателям

То есть, если число записывается с помощью $8$ бит, то имеем:

$01111111=0cdot (-128)+1cdot 64+1cdot 32+. +1cdot 1=127$, а

$11111111=1cdot (-128)+1cdot 64+. +1cdot 1=-1$.

Однако необходимо отметить, что в данном случае имеется много подводных камней. При сложении чисел нужно проверять, появился ли перенос в самый старший разряд – он тоже должен войти с обратным знаком. Следовательно, самый старший разряд должен обрабатываться совсем не так, как все остальные. Особая предосторожность нужна, если расширили $8$-битное число до $16$ бит. Нельзя просто добавить нули слева. Если число отрицательное, слева необходимо добавить единицы, иначе будет ошибка.

Троичная система счисления – это позиционная система счисления с основанием $3$. Данная система может быть представлена в виде:

Читайте также:  Список букв у окулиста

несимметричной (цифры $0$, $1$, $2$);

симметричной (цифры $-1$, $0$, $1$).

Симметричную систему счисления называют также уравновешенной, она была предложена математиком Леонардо Пизано Фибоначчи ($1170 – 1228$) для решения «задачи о гирях».

Задай вопрос специалистам и получи
ответ уже через 15 минут!

Требуется подобрать такой набор из $4$ гирь, чтобы с их помощью на чашечных весах можно было взвесить любой груз массой от $1$ до $40$ кг включительно. При необходимости гири можно располагать на обеих чашах весов.

Ответ: искомый набор состоит из гирь в $1$, $3$, $9$ и $27$ кг.

При взвешивании $1$ кг запись может выглядеть следующим образом:

При взвешивании $2$ кг требуется использовать $2$ гири: на пустую чашу весов поместить гирю в $3$ кг, а на чашу с грузом – в $1$ кг. Результат этого взвешивания записывается в виде: $0 0 1 -1_3$.

При взвешивании $4$ кг запись выглядит следующим образом: $0 0 1 1_3$.

Сложнее выражается взвешивание груза в $5$ кг: $0 1 -1 -1_3$. При этом запись означает, что на пустую чашу помещена гиря, масса которой равна единице $3$ разряда в троичной системе счисления, то есть $9$, а на чашу с грузом помещены гири в $1$ и $3$ кг.

Из приведенных записей видно, что если перед цифрой того или иного разряда стоит минус, то это означает, что гиря соответствующей массы помещена на чашу с грузом и ее масса вычитается из общей массы. Иначе говоря, цифра $" -1"$ – отрицательная единица.

$0 1 -1 -1_3 = 0cdot 3^3 + 1cdot 3^2 – 1cdot 3^1 – 0cdot 3^0 = 5_<10>$.

Приведем несколько других записей результатов взвешивания:

$0 1 -1 0_3 = 0cdot 3^3 + 1cdot 3^2 – 1cdot 3^1 + 0cdot 3^0 = 6_<10>$;

$0 1 -1 1_3 = 0cdot 3^3 + 1cdot 3^2 – 1cdot 3^1 + 1cdot 3^0 = 7_<10>$;

$0 1 0 – 1_3 = 0cdot 3^3 + 1cdot 3^2 + 0cdot 3^1 – 1cdot 3^0 = 8_<10>$.

Из записей следует, что результат любого взвешивания на чашечных весах выражается числом, записанным в системе счисления с основанием $P=3$.

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

Симметричная троичная система наиболее экономна с точки зрения представления чисел.

Если не использовать значение «неизвестно», троичная логика сводится к обычной двоичной логике.

Представления чисел в троичной системе

В таблице приведены примеры представления целых положительных чисел в несимметричной троичной системе счисления:

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

В следующей таблице приведены примеры представления чисел в троичной уравновешенной системе счисления. Глядя на таблицу, понятно, почему эту систему назвали уравновешенной, или симметричной. Очевидно, знак для представления отрицательных чисел не нужен!

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

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

Например, записи: $10-1= 8$, $-101= −8$.

Преимущества троичной уравновешенной системы счисления

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

Для изменения знака у представляемого числа на противоположный необходимо изменить знаки у всех цифр, из которых оно состоит. Это свойство увеличивает число операций при перемене знака (в несимметричных системах изменяется только один знаковый разряд), но в то же время повышает надёжность при сбоях в одном или более разрядах.

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

Применение троичной уравновешенной системы счисления в ЭВМ

Главная особенность уравновешенных систем счисления – отсутствие перед отрицательными числами знака "минус" и необходимости анализа знакового операнда при выполнении арифметических операций – стала привлекательной для конструкторов ЭВМ. Так в Советском Союзе в $1958$ году была создана экспериментальная модель ЭВМ, арифметика которой базировалась на использовании троичной уравновешенной системы счисления.

Инициаторами разработки этой уникальной машины стали математики вычислительного центра Московского государственного университета имени М.В. Ломоносова во главе с академиком С.Л. Соболевым и при участии Н.П. Бруснецова и С.П.Маслова. В $1962-1965$ годах было выпущено более $50$ промышленных экземпляров ЭВМ "Сетунь". Особенности этой машины до сих пор привлекают внимание ученых и конструкторов, поскольку в ней, по мнению главного конструктора Н.П. Бруснецова, реализованы далеко не все полезные свойства трехзначного кода и трехзначной логики. Кроме того, в "Сетуни" не были предусмотрены операции над числами с плавающей запятой, для которых преимущества троичного кода особенно существенны. Несмотря на это, машина наглядно продемонстрировала выгодность использования троичного кода. Кроме того, она была гораздо дешевле машин ее класса и превосходила их по быстродействию.

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Оцените статью
Добавить комментарий

Adblock
detector