Троичный сумматор — различия между версиями
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
В [[Троичная_логика |троичной логике]] "лжи" и "истине" соответствует <tex>-</tex> и <tex>+</tex>. Третьему состоянию соответствует <tex>0</tex>. | В [[Троичная_логика |троичной логике]] "лжи" и "истине" соответствует <tex>-</tex> и <tex>+</tex>. Третьему состоянию соответствует <tex>0</tex>. | ||
− | Мы будем рассматривать простую троичную схему — троичный сумматор. Поэтому, вместо обозначений <tex>\{-, 0, +\}</tex>, мы используем <tex>\{0, 1, 2\}</tex> (несимметричная троичная система счисления). | + | Мы будем рассматривать простую троичную [[Реализация_булевой_функции_схемой_из_функциональных_элементов |функциональную схему]] — троичный [[Сумматор|сумматор]]. Поэтому, вместо обозначений <tex>\{-, 0, +\}</tex>, мы используем <tex>\{0, 1, 2\}</tex> (несимметричная троичная система счисления). |
== Составные части полусумматора == | == Составные части полусумматора == | ||
− | Полусумматор состоит из двух частей: сложения по модулю <tex>3</tex> и переноса в | + | Полусумматор состоит из двух частей: сложения по модулю <tex>3</tex> и переноса в следующий разряд. |
=== Логическое сложение по модулю <tex>3</tex> при одном неполном слагаемом === | === Логическое сложение по модулю <tex>3</tex> при одном неполном слагаемом === | ||
Для сложения одного троичного разряда с разрядом переноса. | Для сложения одного троичного разряда с разрядом переноса. | ||
Строка 24: | Строка 18: | ||
|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:#FFF;padding:2px 30px"| <tex>0</tex> | ||
− | |||
|- | |- | ||
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex> | ||
Строка 33: | Строка 26: | ||
|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}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z}</tex> | ||
Строка 42: | Строка 34: | ||
|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:#CCC;margin:0.5px" | {| style="background-color:#CCC;margin:0.5px" | ||
Строка 57: | Строка 48: | ||
|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:#FFF;padding:2px 30px"| <tex>0</tex> | ||
− | |||
|- | |- | ||
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex> | ||
Строка 66: | Строка 56: | ||
|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}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z}</tex> | ||
Строка 75: | Строка 64: | ||
|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:#FFF;padding:2px 30px"| <tex>0</tex> | ||
− | |||
|} | |} | ||
== Троичный полусумматор с одним неполным слагаемым == | == Троичный полусумматор с одним неполным слагаемым == | ||
Строка 91: | Строка 79: | ||
|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:#FFF;padding:2px 30px"| <tex>0</tex> | ||
− | |||
|- | |- | ||
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex> | ||
Строка 100: | Строка 87: | ||
|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_{sum}}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</tex> | ||
Строка 109: | Строка 95: | ||
|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_{transfer}}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{transfer}}</tex> | ||
Строка 118: | Строка 103: | ||
|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:#FFF;padding:2px 30px"| <tex>0</tex> | ||
− | |||
|} | |} | ||
''transfer'' содержит разряд переноса, ''sum'' содержит сумму по модулю <tex>3</tex>. | ''transfer'' содержит разряд переноса, ''sum'' содержит сумму по модулю <tex>3</tex>. | ||
Строка 144: | Строка 128: | ||
|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:#FFF;padding:2px 30px"| <tex>0</tex> | ||
− | |||
|- | |- | ||
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex> | ||
Строка 156: | Строка 139: | ||
|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_{sum}}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</tex> | ||
Строка 168: | Строка 150: | ||
|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:#FFF;padding:2px 30px"| <tex>0</tex> | ||
− | |||
|- | |- | ||
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{transfer}}</tex> | |style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{transfer}}</tex> | ||
Строка 180: | Строка 161: | ||
|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> | ||
− | |||
|} | |} | ||
− | ''transfer'' — перенос в | + | ''transfer'' — перенос в следующий разряд, несимметричный. |
''sum'' — сумма по модулю <tex>3</tex>, несимметричная. | ''sum'' — сумма по модулю <tex>3</tex>, несимметричная. | ||
Строка 209: | Строка 189: | ||
|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:#EEE;padding:2px 10px"| <tex>\bf{x_1}</tex> | |style="background-color:#EEE;padding:2px 10px"| <tex>\bf{x_1}</tex> | ||
Строка 230: | Строка 209: | ||
|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{x_2}</tex> | |style="background-color:#EEE;padding:2px 10px"| <tex>\bf{x_2}</tex> | ||
Строка 251: | Строка 229: | ||
|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{z_{sum}}</tex> | |style="background-color:#EEE;padding:2px 10px"| <tex>\bf{z_{sum}}</tex> | ||
Строка 272: | Строка 249: | ||
|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:#EEE;padding:2px 10px"| <tex>\bf{z_{transfer}}</tex> | |style="background-color:#EEE;padding:2px 10px"| <tex>\bf{z_{transfer}}</tex> | ||
Строка 293: | Строка 269: | ||
|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> | ||
− | |||
|} | |} | ||
В разряде переноса не бывает третьего значения троичного разряда <tex>(2)</tex>, так как в «худшем» случае <tex>2_{10}+2_{10}+1_{10}=5_{10}=12_3</tex>, то есть в старшем разряде <tex>«1»</tex>. Единица переноса возникает в <tex>9</tex>-ти случаях из <tex>18</tex>. | В разряде переноса не бывает третьего значения троичного разряда <tex>(2)</tex>, так как в «худшем» случае <tex>2_{10}+2_{10}+1_{10}=5_{10}=12_3</tex>, то есть в старшем разряде <tex>«1»</tex>. Единица переноса возникает в <tex>9</tex>-ти случаях из <tex>18</tex>. | ||
Как в двоичной логике двоичный тринарный полный сумматор заменяется двумя бинарными полусумматорами, так и в троичной логике троичный тринарный полный сумматор можно заменить на два троичных бинарных полусумматора, только с той разницей, что два двоичных бинарных полусумматора одинаковые, а два троичных бинарных полусумматора разные. | Как в двоичной логике двоичный тринарный полный сумматор заменяется двумя бинарными полусумматорами, так и в троичной логике троичный тринарный полный сумматор можно заменить на два троичных бинарных полусумматора, только с той разницей, что два двоичных бинарных полусумматора одинаковые, а два троичных бинарных полусумматора разные. | ||
+ | |||
1. Один полусумматор полный бинарный («сложение двух полных троичных разрядов»). Второй полусумматор — не полный бинарный («сложение одного полного троичного разряда с неполным троичным разрядом (с <tex>2/3</tex> от полного троичного разряда)»), так как в разряде переноса не бывает значений больших чем <tex>«1»</tex>. | 1. Один полусумматор полный бинарный («сложение двух полных троичных разрядов»). Второй полусумматор — не полный бинарный («сложение одного полного троичного разряда с неполным троичным разрядом (с <tex>2/3</tex> от полного троичного разряда)»), так как в разряде переноса не бывает значений больших чем <tex>«1»</tex>. | ||
+ | |||
2. Один неполный бинарный «сложение <tex>1</tex> троичного разряда с <tex>2/3</tex> троичного разряда». Второй бинарный несимметричный «сложение <tex>1</tex> троичного разряда с <tex>1</tex> и <tex>2/3</tex> троичного разряда». Результат — двухразрядный длиной <tex>1</tex> и <tex>2/3</tex> троичных разряда. | 2. Один неполный бинарный «сложение <tex>1</tex> троичного разряда с <tex>2/3</tex> троичного разряда». Второй бинарный несимметричный «сложение <tex>1</tex> троичного разряда с <tex>1</tex> и <tex>2/3</tex> троичного разряда». Результат — двухразрядный длиной <tex>1</tex> и <tex>2/3</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%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 Википедия — Различные сумматоры] | * [https://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80#cite_note-9 Википедия — Различные сумматоры] | ||
+ | |||
+ | [[Категория: Дискретная математика и алгоритмы]] | ||
+ | |||
+ | [[Категория: Схемы из функциональных элементов ]] |
Версия 22:35, 29 декабря 2014
В троичной логике "лжи" и "истине" соответствует и . Третьему состоянию соответствует .
Мы будем рассматривать простую троичную функциональную схему — троичный сумматор. Поэтому, вместо обозначений , мы используем (несимметричная троичная система счисления).
Содержание
Составные части полусумматора
Полусумматор состоит из двух частей: сложения по модулю
и переноса в следующий разряд.Логическое сложение по модулю при одном неполном слагаемом
Для сложения одного троичного разряда с разрядом переноса.
Результат не меняется при перемене мест операндов.
Разряд переноса при сложении с неполным слагаемым
Для сложения одного троичного разряда с разрядом переноса.
Результат не изменяется при перемене мест операндов.
Троичный полусумматор с одним неполным слагаемым
Первая ступень полного троичного сумматора.
Для сложения одного троичного разряда с разрядом переноса.
Результат не изменяется при перемене мест операндов.
transfer содержит разряд переноса, sum содержит сумму по модулю
.Результат операции занимает
и троичных разряда.Троичный полусумматор в несимметричной троичной системе счисления
Троичное логическое сложение двух троичных разрядов с разрядом переноса в несимметричной троичной системе счисления.
Результат не изменяется при перемене мест операндов.
Троичный полусумматор можно рассматривать, как объединение двух бинарных троичных функций: «логического сложения по модулю
в троичной несимметричной системе счисления» и «разряд переноса при сложении двух полных троичных разрядов в троичной несимметричной системе счисления».В отличие от предыдущих бинарных троичных функций с одноразрядным результатом, результат функции занимает
и троичных разрядов, так как при сложении в троичной несимметричной системе в разряде переноса не бывает значения больше единицы.transfer — перенос в следующий разряд, несимметричный.
sum — сумма по модулю
, несимметричная.Полное троичное логическое сложение с переносом в несимметричной троичной системе счисления
Полный троичный одноразрядный сумматор является неполной тринарной троичной логической функцией, так как в разряде переноса только два значения
и . В отличие от предыдущих троичных тринарных функций с одноразрядным результатом, результат имеет длину и троичных разряда. Результат не изменяется при перемене мест операндов.В разряде переноса не бывает третьего значения троичного разряда
, так как в «худшем» случае , то есть в старшем разряде . Единица переноса возникает в -ти случаях из . Как в двоичной логике двоичный тринарный полный сумматор заменяется двумя бинарными полусумматорами, так и в троичной логике троичный тринарный полный сумматор можно заменить на два троичных бинарных полусумматора, только с той разницей, что два двоичных бинарных полусумматора одинаковые, а два троичных бинарных полусумматора разные.1. Один полусумматор полный бинарный («сложение двух полных троичных разрядов»). Второй полусумматор — не полный бинарный («сложение одного полного троичного разряда с неполным троичным разрядом (с
от полного троичного разряда)»), так как в разряде переноса не бывает значений больших чем .2. Один неполный бинарный «сложение
троичного разряда с троичного разряда». Второй бинарный несимметричный «сложение троичного разряда с и троичного разряда». Результат — двухразрядный длиной и троичных разряда.