146
правок
Изменения
Нет описания правки
В [[Троичная_логика |троичной логике]] "лжи" и "истине" соответствует <tex>-</tex> и <tex>+</tex>. Третьему состоянию соответствует <tex>0</tex>.
Мы будем рассматривать простую троичную [[Реализация_булевой_функции_схемой_из_функциональных_элементов |функциональную схему ]] — троичный [[Сумматор|сумматор]]. Поэтому, вместо обозначений <tex>\{-, 0, +\}</tex>, мы используем В нём используются такие обозначения: <tex>\{0, 1, 2\}</tex>(несимметричная троичная система счисления).
== Составные части полусумматора ==Полусумматор состоит из двух частей: сложения по модулю <tex>3</tex> и переноса в следующий разряд.=== Логическое сложение по модулю <tex>3</tex> при одном неполном слагаемом===
Для сложения одного троичного разряда с разрядом переноса.
Результат не меняется при перемене мест операндов.
[[Файл:Сложение по модулю 3.png|right|200px|thumb|Сумма по модулю 3]]
{| style="background-color:#CCC;margin:0.5px"
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{zs}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|}
=== Разряд переноса при сложении с неполным слагаемым ===
Для сложения одного троичного разряда с разрядом переноса.
Результат не изменяется при перемене ест мест операндов.[[Файл:Перенос.png|right|200px|thumb|Перенос]]
{| style="background-color:#CCC;margin:0.5px"
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{zc}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|}
== Троичный полусумматор с одним неполным слагаемым ==
Первая ступень полного троичного сумматора.
Результат не изменяется при перемене мест операндов.
{| style="background-color:#CCC;margin:0.5px"
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{transfer}}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|}
''transfer'' содержит разряд переноса, ''sum'' содержит сумму по модулю <tex>3</tex>.
== Троичный полусумматор в несимметричной троичной системе счисления ==
Троичный полусумматор можно рассматривать, как объединение двух бинарных троичных функций: «логического сложения по модулю <tex>3</tex> в троичной несимметричной системе счисления» и «разряд переноса при сложении двух полных троичных разрядов в троичной несимметричной системе счисления».
{| style="background-color:#CCC;margin:0.5px"
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_c_{transfer}}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|}
''sum'' — сумма по модулю <tex>3</tex>, несимметричная.
== Полное троичное логическое сложение с переносом в несимметричной троичной системе счисления ==
Полный троичный одноразрядный сумматор является неполной тернарной троичной логической функцией, так как в разряде переноса только два значения <tex>0</tex> и <tex>1</tex>.
[[Файл:Полный троичный сумматор.png|right|200px|thumb|Троичный сумматор]]
Результат не изменяется при перемене мест операндов.
{| style="background-color:#CCC;margin:0.5px"
|style="background-color:#EEE;padding:2px 10px"| <tex>\bf{x_0}</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 10px"| <tex>\bf{x_1}</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 10px"| <tex>\bf{x_2}</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 10px"| <tex>\bf{sum}</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|-
|style="background-color:#EEE;padding:2px 10px"| <tex>\bf{transfer}</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>1</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|style="background-color:#FFF;padding:2px 10px"| <tex>0</tex>
|}
== См. также ==
* [[Двоичный каскадный сумматор]]
* [[Контактная схема]]
* [[Квантовые гейты]]
==Источники информации==
* [https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8 Википедия — Некоторые троичные схемы]
* [https://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80#cite_note-9 Википедия — Различные сумматоры] [[Категория: Дискретная математика и алгоритмы]] [[Категория: Схемы из функциональных элементов ]]