146
правок
Изменения
Нет описания правки
''sum'' — сумма по модулю <tex>3</tex>, несимметричная.
== Полное троичное логическое сложение с переносом в несимметричной троичной системе счисления ==
Полный троичный одноразрядный сумматор является неполной тринарной троичной логической функцией, так как в разряде переноса только два значения <tex>0</tex> и <tex>1</tex>. В отличие от предыдущих троичных тринарных функций с одноразрядным результатом, результат имеет длину <tex>1</tex> и <tex>2/3</tex> троичных разряда.
Результат не изменяется при перемене мест операндов.
{| style="background-color:#CCC;margin:0.5px"
!style="background-color:#EEE"| <tex>\bf{x_0}</tex>
!style="background-color:#FFF"| <tex>2</tex>
!style="background-color:#FFF"| <tex>1</tex>
!style="background-color:#FFF"| <tex>0</tex>
!style="background-color:#FFF"| <tex>2</tex>
!style="background-color:#FFF"| <tex>1</tex>
!style="background-color:#FFF"| <tex>0</tex>
!style="background-color:#FFF"| <tex>2</tex>
!style="background-color:#FFF"| <tex>1</tex>
!style="background-color:#FFF"| <tex>0</tex>
!style="background-color:#FFF"| <tex>2</tex>
!style="background-color:#FFF"| <tex>1</tex>
!style="background-color:#FFF"| <tex>0</tex>
!style="background-color:#FFF"| <tex>2</tex>
!style="background-color:#FFF"| <tex>1</tex>
!style="background-color:#FFF"| <tex>0</tex>
!style="background-color:#FFF"| <tex>2</tex>
!style="background-color:#FFF"| <tex>1</tex>
!style="background-color:#FFF"| <tex>0</tex>
!style="background-color:#EEE"| <tex>first</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_1}</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>2</tex>
|style="background-color:#FFF;padding:2px 30px"| <tex>2</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>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:#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>2</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>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:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>second</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_2}</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>1</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>1</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>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:#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:#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>transfer</tex>
|-
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</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:#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>2</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>1</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>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>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>sum (mod 3)</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>1</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>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>
|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>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>
|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>transfer</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>.
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%A1%D1%83%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80#cite_note-9 Википедия — Различные сумматоры]