SUM (Ternary Gate): Difference between revisions

From T729 Balanced Ternary Computer
Jump to navigationJump to search
No edit summary
No edit summary
 
(35 intermediate revisions by the same user not shown)
Line 1: Line 1:
<p>
<big><b>Modulo-3 Sum</b></big>
Modulo-3 Sum
[[File:SUM_GATE.png|thumb|Sum Gate Symbol]]
</p>
[[File:BCT_SUM.png|thumb|BCT Sum Gate]]
== Uses ==
While there is a [[EOR (Ternary Gate)|Ternary XOR]] gate, it's usefulness does not fit with what the [[XOR (Binary Gate)|Binary XOR]] can do. Another gate is needed to perform ternary addition.


== Truth Table ==
SUM does mod 3 addition, returning the remainder.
<div style="font-family: monospace; font-size: 20px;">
 
<table style="display: inline-block; border-collapse: collapse; text-align: center;">
It is also useful for cryptography and error correction being balanced, self-negating, associative, and commutative.
<tr>
 
<td class="tct" colspan="2" rowspan="2">SUM</td>
<i>
<td colspan="3">B</td>
A ⊕ B = C<br />
</tr>
C ⊕ A = B<br />
<tr>
A ⊕ C = B<br />
<td class="tcb">-</td>
B ⊕ C = A<br />
<td class="tcb">0</td>
A ⊕ 0 = A<br />
<td class="tcb">+</td>
0 ⊕ A = A<br />
</tr>
</i>
<tr>
 
<td rowspan="3">A</td>
== Truth Tables ==
<td class="tcr">-</td>
=== SUM ===
<td class="tc2">+</td>
<div class="tt">
<td class="tc1">-</td>
<table class="tt">
<td class="tc3">0</td>
<tr>
</tr>
<td class="tt_br tt_bb" colspan="2" rowspan="2">SUM</td>
<tr>
<td colspan="3" class="tce"><b>B</b></td>
<td class="tcr">0</td>
</tr>
<td class="tc1">-</td>
<tr>
<td class="tc3">0</td>
<td class="tt_r tt_bb">-</td>
<td class="tc2">+</td>
<td class="tt_g tt_bb">0</td>
</tr>
<td class="tt_b tt_bb">+</td>
<tr>
</tr>
<td class="tcr">+</td>
<tr>
<td class="tc3">0</td>
<td rowspan="3"><b>A</b></td>
<td class="tc2">+</td>
<td class="tt_r tt_br">-</td>
<td class="tc1">-</td>
<td class="tt_b">+</td>
</tr>
<td class="tt_r">-</td>
</table>
<td class="tt_g">0</td>
</tr>
<tr>
<td class="tt_g tt_br">0</td>
<td class="tt_r">-</td>
<td class="tt_g">0</td>
<td class="tt_b">+</td>
</tr>
<tr>
<td class="tt_b tt_br">+</td>
<td class="tt_g">0</td>
<td class="tt_b">+</td>
<td class="tt_r">-</td>
</tr>
</table>
 
<table class="tt">
<tr>
<td colspan="3">SUM</td>
</tr>
<tr>
<td class="tt_bb"><b>A</b></td>
<td class="tt_bb"><b>B</b></td>
<td class="tt_bl tt_bb"><b>Y</b></td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_r">-</td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_g">0</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_r">-</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_g">0</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_g">0</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_r">-</td>
</tr>
</table>
</div>
</div>
<hr />
=== NSUM ===
<div class="tt">
<table class="tt">
<tr>
<td class="tt_br tt_bb" colspan="2" rowspan="2">NSUM</td>
<td colspan="3" class="tce"><b>B</b></td>
</tr>
<tr>
<td class="tt_r tt_bb">-</td>
<td class="tt_g tt_bb">0</td>
<td class="tt_b tt_bb">+</td>
</tr>
<tr>
<td rowspan="3"><b>A</b></td>
<td class="tt_r tt_br">-</td>
<td class="tt_r">-</td>
<td class="tt_b">+</td>
<td class="tt_g">0</td>
</tr>
<tr>
<td class="tt_g tt_br">0</td>
<td class="tt_b">+</td>
<td class="tt_g">0</td>
<td class="tt_r">-</td>
</tr>
<tr>
<td class="tt_b tt_br">+</td>
<td class="tt_g">0</td>
<td class="tt_r">-</td>
<td class="tt_b">+</td>
</tr>
</table>
<table class="tt">
<tr>
<td colspan="3">NSUM</td>
</tr>
<tr>
<td class="tt_bb"><b>A</b></td>
<td class="tt_bb"><b>B</b></td>
<td class="tt_bl tt_bb"><b>Y</b></td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_r">-</td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_r">-</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_g">0</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_b">+</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_g">0</td>
</tr>
<tr>
<td class="tt_g">0</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_r">-</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_r">-</td>
<td class="tt_bl tt_g">0</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_g">0</td>
<td class="tt_bl tt_r">-</td>
</tr>
<tr>
<td class="tt_b">+</td>
<td class="tt_b">+</td>
<td class="tt_bl tt_b">+</td>
</tr>
</table>
</div>
[[Category:Ternary]]
[[Category:Logic_Gates]]

Latest revision as of 18:54, 21 January 2025

Modulo-3 Sum

Sum Gate Symbol
BCT Sum Gate

Uses

While there is a Ternary XOR gate, it's usefulness does not fit with what the Binary XOR can do. Another gate is needed to perform ternary addition.

SUM does mod 3 addition, returning the remainder.

It is also useful for cryptography and error correction being balanced, self-negating, associative, and commutative.

A ⊕ B = C
C ⊕ A = B
A ⊕ C = B
B ⊕ C = A
A ⊕ 0 = A
0 ⊕ A = A

Truth Tables

SUM

SUM B
- 0 +
A - + - 0
0 - 0 +
+ 0 + -
SUM
A B Y
- - +
- 0 -
- + 0
0 - -
0 0 0
0 + +
+ - 0
+ 0 +
+ + -

NSUM

NSUM B
- 0 +
A - - + 0
0 + 0 -
+ 0 - +
NSUM
A B Y
- - -
- 0 +
- + 0
0 - +
0 0 0
0 + -
+ - 0
+ 0 -
+ + +