Multiply (Ternary): Difference between revisions
From TernaryWiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
== Ternary Multiplication Example == | == Ternary Multiplication Example == | ||
{| class="wikitable" style="text-align: center; font-family: monospace; font-size: 18px;" | {| class="wikitable" style="text-align: center; font-family: monospace; font-size: 18px;" | ||
|+<big>4435 * 472</big> | |+ <big>4435 * 472</big> | ||
!3<sup>16</sup> | ! 3<sup>16</sup> | ||
!3<sup>15</sup> | ! 3<sup>15</sup> | ||
!3<sup>14</sup> | ! 3<sup>14</sup> | ||
!3<sup>13</sup> | ! 3<sup>13</sup> | ||
!3<sup>12</sup> | ! 3<sup>12</sup> | ||
!3<sup>11</sup> | ! 3<sup>11</sup> | ||
!3<sup>10</sup> | ! 3<sup>10</sup> | ||
!3<sup>9</sup> | ! 3<sup>9</sup> | ||
!3<sup>8</sup> | ! 3<sup>8</sup> | ||
!3<sup>7</sup> | ! 3<sup>7</sup> | ||
!3<sup>6</sup> | ! 3<sup>6</sup> | ||
!3<sup>5</sup> | ! 3<sup>5</sup> | ||
!3<sup>4</sup> | ! 3<sup>4</sup> | ||
!3<sup>3</sup> | ! 3<sup>3</sup> | ||
!3<sup>2</sup> | ! 3<sup>2</sup> | ||
!3<sup>1</sup> | ! 3<sup>1</sup> | ||
!3<sup>0</sup> | ! 3<sup>0</sup> | ||
! | ! | ||
!B | ! B | ||
! | ! | ||
! colspan="9" |A | ! colspan="9" | A | ||
|- | |- | ||
| | | | ||
Line 38: | Line 38: | ||
| | | | ||
| | | | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
!= | ! = | ||
| + | | style="background-color:#88f;" | + | ||
| rowspan="9" |[[EOR (Ternary Gate)|EOR]] | | rowspan="9" |[[EOR (Ternary Gate)|EOR]] | ||
| rowspan="9" | + | | rowspan="9" style="background-color:#88f;" | + | ||
| rowspan="9" | - | | rowspan="9" style="background-color:#f88;" | - | ||
| rowspan="9" |0 | | rowspan="9" style="background-color:#8f8;" | 0 | ||
| rowspan="9" |0 | | rowspan="9" style="background-color:#8f8;" | 0 | ||
| rowspan="9" | + | | rowspan="9" style="background-color:#88f;" | + | ||
| rowspan="9" | - | | rowspan="9" style="background-color:#f88;" | - | ||
| rowspan="9" | + | | rowspan="9" style="background-color:#88f;" | + | ||
| rowspan="9" | - | | rowspan="9" style="background-color:#f88;" | - | ||
| rowspan="9" | + | | rowspan="9" style="background-color:#88f;" | + | ||
|- | |- | ||
| | | | ||
Line 67: | Line 67: | ||
| | | | ||
| | | | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| | |↓ | ||
!= | ! = | ||
| + | | style="background-color:#88f;" | + | ||
|- | |- | ||
| | | | ||
Line 86: | Line 86: | ||
| | | | ||
| | | | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| | |↓ | ||
| | |↓ | ||
!= | ! = | ||
| + | | style="background-color:#88f;" | + | ||
|- | |- | ||
| | | | ||
Line 105: | Line 105: | ||
| | | | ||
| | | | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
!= | ! = | ||
| - | | style="background-color:#f88;" | - | ||
|- | |- | ||
| | | | ||
Line 124: | Line 124: | ||
| | | | ||
| | | | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
!= | ! = | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|- | |- | ||
| | | | ||
| | | | ||
| | | | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
!= | ! = | ||
| - | | style="background-color:#f88;" | - | ||
|- | |- | ||
| | | | ||
| | | | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
!= | ! = | ||
| + | | style="background-color:#88f;" | + | ||
|- | |- | ||
| | | | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
!= | ! = | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|- | |- | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
| | |↓ | ||
!= | ! = | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|- | |- | ||
! colspan="29" | | ! colspan="29" | | ||
---- | ---- | ||
|- | |- | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| + | | style="background-color:#88f;" | + | ||
| + | | style="background-color:#88f;" | + | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| - | | style="background-color:#f88;" | - | ||
| + | | style="background-color:#88f;" | + | ||
| + | | style="background-color:#88f;" | + | ||
|0 | | style="background-color:#8f8;" | 0 | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| + | | style="background-color:#88f;" | + | ||
| + | | style="background-color:#88f;" | + | ||
| + | | style="background-color:#88f;" | + | ||
| + | | style="background-color:#88f;" | + | ||
|0 | | style="background-color:#8f8;" | 0 | ||
| + | | style="background-color:#88f;" | + | ||
! | ! = | ||
| colspan="11" |<big>2,093,320</big> | | colspan="11" |<big>2,093,320</big> | ||
|} | |} |
Revision as of 19:28, 4 August 2025
Ternary multiplication works similarly to decimal long multiplication. The multiplicand is multiplied by each digit of the multiplier. Which results in a list of partial products, and each next partial product is multiplied by 10; shifted to the left. The list of partial products is then added together for the total product.
The difference with ternary is the multiplicand is EORed by each digit of the multiplier. This results in all the partial products being the A input buffered, zeroed, or negated depending on the value of B at that digit. Each partial product is shifted to the left.
All the partial products are then added up for the final total.
Ternary Multiplication Example
316 | 315 | 314 | 313 | 312 | 311 | 310 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 | 31 | 30 | B | A | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+ | - | 0 | 0 | + | - | + | - | + | = | + | EOR | + | - | 0 | 0 | + | - | + | - | + | ||||||||
+ | - | 0 | 0 | + | - | + | - | + | ↓ | = | + | |||||||||||||||||
+ | - | 0 | 0 | + | - | + | - | + | ↓ | ↓ | = | + | ||||||||||||||||
- | + | 0 | 0 | - | + | - | + | - | ↓ | ↓ | ↓ | = | - | |||||||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ↓ | ↓ | ↓ | ↓ | = | 0 | ||||||||||||||
- | + | 0 | 0 | - | + | - | + | - | ↓ | ↓ | ↓ | ↓ | ↓ | = | - | |||||||||||||
+ | - | 0 | 0 | + | - | + | - | + | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | = | + | ||||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | = | 0 | |||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | = | 0 | ||||||||||
| ||||||||||||||||||||||||||||
0 | 0 | 0 | + | + | 0 | - | + | + | 0 | 0 | + | + | + | + | 0 | + | = | 2,093,320 |