Funcții ternare

O funcție ternară în teoria sistemelor funcționale și logica ternară este o funcție de tip , unde  este o mulțime ternară , și  este un întreg nenegativ , care se numește aritatea sau localitatea funcției.

Elementele mulțimii - semnele digitale 0, 1 și 2 pot fi interpretate ca logic „fals”, „necunoscut” și „adevărat”, în cazul general, semnificația lor poate fi orice. Elementele se numesc vectori ternari . În cazul lui n  = 0, funcția ternară se transformă într-o constantă ternară .

Fiecare funcție ternară a ariității n este complet definită prin stabilirea valorilor sale pe domeniul său de definiție, adică pe toți vectorii ternari de lungime n . Numărul acestor vectori este 3 n . Deoarece pe fiecare vector o funcție cu trei valori poate lua una din trei valori diferite, numărul tuturor funcțiilor ternare n -are este 3 (3 n ) (sunt necesare paranteze, deoarece notația 3 3 n nu are proprietatea de asociativitate și 3 (3 2 ) = 3 9 \u003d 19683 și (3 3 ) 2 \u003d 27 2 \u003d 729).

De exemplu, există 3 (3 0 )  = 3 funcții logice ternare nule - constante 0, 1 și 2; 3 (3 1 )  = 27 funcții logice ternare unare, 3 (3 2 )  = 19683 funcții logice ternare binare etc.

Funcții logice ternare (clasificare)

Niveluri ale valorilor de legare la cele trei stări ale dispozitivelor ternare

În unele dispozitive ternare, toate cele trei stări sunt aceleași și nu sunt definite nici valori logice, nici aritmetice [1] , iar direcția deplasării, fie la dreapta (în sensul acelor de ceasornic), fie la stânga (în sens invers acelor de ceasornic), nu este definită, dar în acest sens la nivel este deja posibil să se fixeze una dintre cele două direcții de rotație și să se distingă deja rotația la stânga de rotația la dreapta.
La al doilea nivel, trei valori pot fi atribuite celor trei stări, dar fără încă valori aritmetice obligatorii, de exemplu, un triunghi, un pătrat și un cerc. La al doilea nivel, devine posibilă legarea valorilor booleene („fals”, „nedefinit”, „adevărat”), de exemplu:
„triunghi” = „fals”,
„pătrat” = „nedefinit”,
„ cerc” = „adevărat”,
deși în cazul general legarea poate fi diferită.
La al doilea nivel, valorile logice nu au valori aritmetice.
La al treilea nivel, trei stări sunt atribuite valori aritmetice: 0, 1 și 2, sau -1, 0 și +1. La al treilea nivel, valorile logice au în mod condiționat și valori aritmetice. Cea mai comună legare a valorilor aritmetice nu este compatibilă cu legarea obișnuită în logica binară:
„fals” = -1,
„nedefinit” = 0,
„adevărat” = +1,
deși, în general, legarea valorilor aritmetice poate fi diferită, de exemplu, legarea:
„fals” = 0,
„nedefinit” = 2,
„adevărat” = 1, este
compatibil cu legarea convențională în logica binară și corespunde rotației din stânga în legarea obișnuită a unei secvențe de aritmetică valori (0,1,2).

În alte dispozitive ternare, cele trei stări diferă, de exemplu, în polaritatea tensiunii și nu sunt echivalente [2] . În aceste dispozitive, legarea la nivelurile de tensiune și la valorile aritmetice și logice este foarte puternică:
"tensiune negativă" \u003d "-1" \u003d "-" \u003d "fals",
"tensiune aproape de zero" \u003d "0" \u003d "nedefinit",
"tensiune pozitivă" = "+1" = "+" = "adevărat",
dar sunt posibile alte legături în aceste dispozitive.

Logica cuaternară, logica octală și alte logici care sunt multipli de 4 sunt mai potrivite pentru a lucra cu a treia valoare booleană - „nedefinit” decât logica ternară.

Notație pentru funcții ternare

În general, ca într-un caz de brevet, denumirea poate fi orice, dar este necesar să se indice ce reprezintă fiecare element din denumire.
Un sistem unificat de notație pentru funcțiile ternare nu s-a dezvoltat încă. Diferiți autori folosesc sisteme diferite de notație pentru funcțiile ternare. Un exemplu de diferite notații pentru funcții ternare unare de către diferiți autori este dat în Tabelul 3 și în subsecțiunea „Notație” în același loc.

Când lucrați cu funcții ternare și binare în același timp, trebuie să specificați trinitate sau binar. Acest lucru se poate face cu literele T (Ternar) și B (Binar). De exemplu, FT este o funcție ternară și FB este o funcție binară.

Deoarece funcțiile pot avea un număr diferit de argumente (aritate), este necesar să se precizeze aritatea funcțiilor. Întrucât funcțiile unare, binare, trinare etc. există atât în ​​sistemele binare, cât și ternare și mai mult -are, desemnarea sistemului trebuie să precedă desemnarea arității. De exemplu, FT1 este o funcție unară ternară, FT2 este o funcție binară ternară, FT3 este o funcție ternară ternară.

Deoarece jumătate din numerele diferitelor funcții ternare simetrice și ternare asimetrice sunt aceleași, este necesar să se indice dacă numărul funcției este simetric sau nu. Acest lucru se poate face cu literele S (Simetric) și N (Nesimetric). De exemplu, FT1S este o funcție unară ternară cu un număr simetric, FT1N este o funcție unară ternară cu un număr nesimetric și FT2B1N este o funcție mixtă cu două argumente ternare, un argument binar și un număr nesimetric.

După ce puteți pune numărul funcției. De exemplu, FT1N7 este o funcție unară ternară cu număr asimetric „7”.

Deoarece unele numere diferite în formă ternară și zecimală sunt aceleași, de exemplu, 22 ternare este egal cu 8 zecimale, atunci după număr trebuie să puneți un index care indică baza sistemului numeric. De exemplu, FB2N22 10 , FT2S22 3 , FT2N22 10  sunt trei funcții diferite.

Numele funcțiilor ternare

Ca și în logica binară , o funcție ternară poate să nu aibă propriul nume în cuvinte, atunci este numită printr-o desemnare numerică sau aceeași funcție poate avea unul sau mai multe nume proprii în cuvinte, în funcție de aplicație.

Corespondențe de notație ternară asimetrică și ternară simetrică

În notația simetrică ternară, valorile aritmetice -1, 0 și +1 sunt foarte strâns legate de notația logică (−1, 0, +1) sau (−, 0, +). În a doua notație, 1 nu este prezent în mod explicit, dar este implicit implicit.

În notația ternară nesimetrică, alta decât 0 și +1, valorile aritmetice -1, 0 și +1 sunt mai puțin puternic asociate cu notația logică (0,1,2).

Din tabelul 4 rezultă că:

F1TN0 = F1TS-13 … F1TN13 = F1TS0 … F1TN26 = F1TS+13

sau

F1TS-13 = F1TN0 … F1TS0 = F1TN13 … F1TS+13 = F1TN26,

adică numerele ternare pe trei biți ale funcțiilor ternare unare cu codificare simetrică sunt deplasate în raport cu numerele funcțiilor ternare unare cu codificare asimetrică prin

Codarea asimetrică ternară este mai convenabilă în aplicațiile ternare generale. Codificarea simetrică ternară este mai convenabilă atunci când lucrați cu numere simetrice ternare. Indiferent de sistemul de codare, funcțiile în sine efectuează aceeași operație cu operanzi (argumente), chiar și cu sisteme de codare nemenționate mai sus.

Conversia numerelor ternare asimetrice în numere ternare simetrice

Numerele ternare asimetrice cu codificare (-1,0,+1)=(0,1,2) sunt relativ ușor de convertit în numere ternare simetrice cu codificare (-1,0,+1)=(2,0,1) folosind următorul algoritm [3] (Eroarea lui Depman I. Ya.: Pentru a scrie numere în sisteme cu trei cifre, inclusiv sisteme numerice ternare, sunt necesare trei caractere. În notația lui Depman, al treilea caracter este unitatea subliniată - " 1 ", dar al treilea caracter poate fi atât „2” cât și „i” și „7” și „N” și „n” și orice alt semn decât semnele „0” și „1”.):
1. Începând de la cel mai mic cifra semnificativă a numărului ternar dezechilibrat cu codificare ( -1,0,+1)=(0,1,2):
2. Dacă numărul din cifra curentă este mai mare decât 1 (2 sau 3), atunci se adaugă 1 la următoarea cifră (rămâne 2, dar deja ca denumire -1); dacă numărul din cifra curentă este 3, atunci cifra curentă este setată la 0.
3. Treceți la următoarea cifră cea mai mare.
Pentru numerele ternare asimetrice negative, conversia se face din modulul numărului ternar asimetric și, ca urmare, în toate cifrele, se înlocuiește „1” cu „2”, iar „2” cu „1” folosind funcția ternară simetrică. Swap12(X).

Funcții logice ternare nulare (operații, elemente)

Operații (funcții) logice ternare nule cu ieșire unară

În total există cele mai simple funcții ternare nulare (constante ternare). Cu codificare în sistemul numeric ternar nesimetric :

tabelul 1
Desemnare Nume Sens
FT0N0 Identitate booleană zero 0
FT0N1 Unitate de identitate logică unu
FT0N2 Logice identice două 2

Cu codificare în sistemul numeric simetric ternar:

masa 2
Desemnare Nume Sens
FT0S-1 Identic minus unu -unu
FT0S0 Identitate zero 0
FT0S1 Identitate plus unu unu

Funcții booleene ternare unare

Funcții logice ternare unare cu ieșire unară

În total, există cele mai simple funcții ternare unare (cu o singură intrare, cu un argument, cu un operand, un loc), unde m este numărul de ieșiri, aritatea de ieșire a funcției. Pentru funcții unare (cu o singură intrare) funcții ternare cu ieșire unară m=1 și numărul lor este . Numărul celor mai simple funcții ternare unare este egal cu numărul de plasări cu repetări ( selecții cu returnare) pentru k=n=3:

Deoarece există funcții mai complexe care dau același rezultat ca și cele mai simple funcții ternare unare cu intrarea unui trit, numărul de funcții ternare mai complexe cu următoarele rezultate dintr-un trit este teoretic infinit.
Tabelul 1. Rezultatele acțiunii celor mai simple funcții ternare unare atunci când trei valori ale cifrei ternare (trit) sunt aplicate succesiv la intrare: 0, 1 și 2.
Într-un sistem de codificare ternar asimetric (-1,0 ,+1) = (0,1,2) :
Tabelul 3.

y\x 2 unu 0 titlu desemnare
FT1N0=FT1S-13 0 0 0 minim identic, zero identic, trecere la 0 F000(X) = 0
FT1N1=FT1S-12 0 0 unu emularea ternară a funcției binare NOT 2 , adaptor la binar F001(X) = NU 2 (X)
FT1N2=FT1S-11 0 0 2 convertor în binar F002(X)
FT1N3=FT1S-10 0 unu 0 emularea ternară a funcției binare DA 2 , adaptor la binar F010(X) = DA 2 (X)
FT1N4=FT1S-9 0 unu unu emularea ternară a funcției binare „identic 1”, adaptor la binar F011(X) = 1 2
FT1N5=FT1S-8 0 unu 2 schimb de 0 și 2, schimb de două valori inferioare la codificare (-1,0,+1)=(2,0,1), schimb de două valori extreme ("inversie Lukasiewicz") la codificare (- 1,0,+1) =(0,1,2) F1TN5 10 (X) = F012 3 (X) = Schimbare02(X)
FT1N6=FT1S-7 0 2 0 convertor în binar F020(X)
FT1N7=FT1S-6 0 2 unu rotiți la dreapta (înainte, sus) 1 pas (+1 pas, +1/3 rotire, +120°), rotiți la dreapta (înainte, sus) 1 pas (+1 pas, +1/3 rotire, +120°), Rotire în sus de Steve Grubb [4] , Ciclu sus [5] F021(X) = RotF(x) = RotU(x) = RotR(x) = CycleShiftU(x)
FT1N8=FT1S-5 0 2 2 convertor în binar FT1N8 10 (X) = F022 3 (X)
FT1N9=FT1S-4 unu 0 0 deplasare neciclică la stânga (înapoi, jos) cu limita 0, deplasare neciclică la stânga (înapoi, în jos) cu −1 cu limita 0, Decrement neciclic cu limita 0, Shift Down de Steve Grubb [6] F100(X) = ShiftD(x) = ShiftL(X)
FT1N10=FT1S-3 unu 0 unu convertor în binar F101(X)
FT1N11=FT1S-2 unu 0 2 rotiți la stânga (în spate, în jos) 1 pas (-1 pas, −1/3 tură, −120°), rotiți la stânga (înapoi, în jos) 1 pas (-1 pas, −1/3 rotire, −120°), Rotate Down de Steve Grubb [7] , Cicle Down [5] F102(X) = RotB(x) = RotD(x) = RotL(x) = CycleShiftD(x)
FT1N12=FT1S-1 unu unu 0 convertor în binar F110(X)
FT1N13=FT1S0 unu unu unu mijloc identic, trecere la 1, unitate identică F111(X) = 1
FT1N14=FT1S+1 unu unu 2 convertor în binar FT1N14 10 (X) = F112 3 (X)
FT1N15=FT1S+2 unu 2 0 schimb 1 și 2, schimb a două valori extreme ("inversie Lukasiewicz") la codificare (-1,0,+1)=(2,0,1), schimb a două valori cele mai mari la codificare (-1 ,0,+1) =(0,1,2) FT1N15 10 (X)=F120 3 (X)=Swap12(X)
FT1N16=FT1S+3 unu 2 unu convertor în binar F121(X)
FT1N17=FT1S+4 unu 2 2 convertor în binar FT1N17 10 (X) = F122 3 (X)
FT1N18=FT1S+5 2 0 0 convertor în binar F200(X)
FT1N19=FT1S+6 2 0 unu schimb de 0 și 1, schimb de două valori mai mari la codificare (-1,0,+1)=(2,0,1), schimb de două valori inferioare la codificare (-1,0,+1) )=(0,1, 2) FT1N19 10 (X) = F201 3 (X) = Schimbare01(X)
FT1N20=FT1S+7 2 0 2 convertor în binar F202(X)
FT1N21=FT1S+8 2 unu 0 rotație zero, repetor, Da, Buffer1, Delay1 (linie de întârziere pentru 1 întârziere tipică), funcție de identitate F210(X) = Da(x) = Rot0(x) = CycleShift0(X) = x
FT1N22=FT1S+9 2 unu unu convertor în binar F211(X)
FT1N23=FT1S+10 2 unu 2 convertor în binar F212(X)
FT1N24=FT1S+11 2 2 0 convertor în binar F220(X)
FT1N25=FT1S+12 2 2 unu deplasare neciclică la dreapta (înainte, în sus) cu limita 2, deplasare neciclică la dreapta (înainte, în sus) cu +1 cu limita 2, creștere neciclică cu limita 2, deplasare în sus de Steve Grubb [8] F221(X) = ShiftU(x)
FT1N26=FT1S+13 2 2 2 maxim identic, trecere la 2, identic doi F222(X) = 2

Tabelul arată că atunci când valorile de la 0 la 2 sunt introduse secvenţial la intrarea funcţiei, se formează un şir la ieşirea funcţiei, de exemplu, „022” 3 , care este atât numărul funcţiei, cât şi şirul. a acțiunii sale, adică atât numărul funcției, cât și șirul acțiunii sale sunt conținute în funcția însăși. Această proprietate poate fi utilă dacă este imposibil să citiți numărul funcției de pe corpul cipului (șters, pictat, nu este disponibil).

Tabelul arată că triturile de ieșire, după acțiunea funcțiilor, în 21 de cazuri din 27 își pierd valoarea de trei valori și în 18 cazuri devin cu două valori (adaptoare la logica binară), iar în 3 cazuri devin monovaloare. constantele (adaptoare la constante) (FT1N0, FT1N13 și FT1N26 ), și doar în 6 cazuri (trei schimburi, două rotații și un repetor) rămân cu trei cifre (FT1N5, FT1N7, FT1N11, FT1N15, FT1N19 și FT1N21).

Toate cele 27 de operații (funcții) ternare sunt efectuate de o ALU ternară unară cu ieșire unară (1Trit-1Trit) într-un sistem de trei biți cu o unitate de elemente logice ternare, un instantaneu al modelului căruia în simulatorul logic Atanua este prezentate în figura din dreapta și sunt scrise într-un flip-flop ternar cu logica de control corespunzătoare.

Notație

Pentru a desemna funcții ternare unare, orice trei semne ternare (3 3 \u003d 27), 4/3 semn zecimal (9 (4/3) \u003d 27) sau un semn douăzeci și șapte sunt suficiente, prin urmare, deoarece un număr infinit de astfel de semne sunt posibile, un număr infinit de notații pentru funcții ternare unare. Din acest set de denumiri, desemnările numerice bazate pe rezultatele acțiunii funcțiilor sunt desemnări naturale .

Denumirile numerice pot fi superscript postfix, minuscule și indice și prefix superscript, minuscule și indice, în timp ce pentru desemnările superscript și indice trebuie să tastați cinci caractere pentru deschidere și șase caractere pentru paranteze de închidere, astfel încât desemnările digitale cu litere mici cu paranteze obișnuite sunt mai simple.

Grabb [10] folosește șase caractere pentru desemnare: ∪, ∩, ↘, ↗, A, A , dintre care 5 sunt greu de tastat la tastatură. Două cifre hexazecimale pot exprima până la 6 2 = 36 de funcții, totuși Grabb folosește patru cifre pentru a desemna funcțiile −7, −3, 3 și 7, ceea ce este relativ redundant (6 4 = 1296).

Mouftah folosește 16 caractere pentru desemnare: ¬, ¬ , ⌐, , ┘, , └, , ⊼, ⊽, 0, +, (,), A, A , dintre care 11 sunt greu de tastat la tastatură. Două cifre hexazecimale pot exprima până la 11 2 =256 funcții, totuși pentru funcțiile -6 și -2 Mouftah folosește 11 cifre, ceea ce este relativ redundant (16 11 =17592186044416).

Yoeli desemnează decodoarele pozitive -1, 0 și +1 cu două și trei superscripte greu de tastat, fără a descrie decodoarele pozitive cu două 0-uri, decodoarele zero cu două 1-uri și două -1-uri, decodoarele negative cu două 0-uri și două 1. .

Într-un sistem ternar simetric:
Tabelul 4.

y\x unu 0 i titlu desemnare F# [5] Grubb Moufthah Titlu după Mouftah/Yoeli [5] Diferență : 101 Maslov S. P. [11]
FT1S-13=FT1N0 i i i adaptor la -1, identitate -1, identitate minimă Fiii(X) = −1 111 ieșire întotdeauna 1
FT1S-12=FT1N1 i i 0 comutați în jos, deplasați cu -1 Fii0(X) ii0 ↘A = Shift Down ¬┘A -L, M3
FT1S-11=FT1N2 i i unu convertor în binar, detector −1 cu adevărat=1 fals=-1 Fii1(X) ii1 ∩↗ A └┘A = ┘A = ┘A = ┘┘A x 1 (Yoeli), decodificare-1
FT1S-10=FT1N3 i 0 i convertor în binar, înlocuind 1 cu −1 Fi0i(X) i0i ↘∩A
FT1S-9=FT1N4 i 0 0 convertor în binar Fi00(X) i00 ↘↗A ⌐A diodă inversă M8
FT1S-8=FT1N5 i 0 unu schimbă +1 și −1, „Inversarea Lukasiewicz”, „Inversare” de Steve Grubb [12] , Complement(F210) de Paul Falstad [13] Fi01(X) = "NOTL(X)" = "NotL(X)" = "InvL(X)" = "Not0(X)" = Schimbare+1/-1 10 1 schimb 1/1 , A A Invertor ternar simplu \'/
FT1S-7=FT1N6 i unu i convertor în binar, detector 0 cu adevărat=1 fals=-1 Fi1i(X) i1i ∩↗∪ A ┘(A + A ) x 0 (Yoeli), decodificare-0
FT1S-6=FT1N7 i unu 0 rotație înainte 1/3 de tură (+120°) Fi10(X) = RotF(X) = RotU(X) = RotRight(x) 01 1 rotiți în sus,
∩A
(└ A ⊼ 0)⊼(┘ A ) — poarta de ciclu invers ciclu sus ///
FT1S-5=FT1N8 i unu unu adaptor la binar, F220 conform lui Paul Falstad [14] , „Inversie Lukasiewicz” de la detector +1 Fi11(X) i11 ∪↘ A ┘└A = ┘A = └└A
FT1S-4=FT1N9 0 i i deplasare neciclică în jos, deplasare neciclică cu −1 F0ii(X) 0ii A ⌐└A Invertor ternar negativ cu împământare M7
FT1S-3=FT1N10 0 i 0 convertor în binar F0i0(X) 0i0 ∪↗∪ A
FT1S-2=FT1N11 0 i unu rotație inversă 1/3 de tură (−120°) F0i1(X) = RotB(x) = RotD(X) = RotLeft(x) 1 1 0 rotiți în jos,
∪A
(┘ A ⊽ 0)⊽(└ A ) — poarta de ciclism ciclu în jos \\\
FT1S-1=FT1N12 0 0 i adaptor la binar, înlocuind +1 cu 0 F00i(X) 00i ∪↗ A ⌐└A = ⌐A -R, M4
FT1S0=FT1N13 0 0 0 adaptor la 0, identic 0, identic mijloc F000(X) = 0 000 iese întotdeauna 0
FT1S+1=FT1N14 0 0 unu F211 de Paul Falstad [15] , adaptor la binar F001(X) 001 ↗↘A ¬A diodă directă M5
FT1S+2=FT1N15 0 unu i schimbă 0 și 1 F01i(X) = "NU0(X)" = "NU-1(X)" 1 10 schimb 0/1 schimb 0/1 '/\
FT1S+3=FT1N16 0 unu 0 convertor în binar F010(X) 010 ∩↘∩A
FT1S+4=FT1N17 0 unu unu F221 de Paul Falstad [16] , adaptor la binar F011(X) 011 ⌐└A +L, M2
FT1S+5=FT1N18 unu i i convertor în binar, detector 1 cu true=1 false=-1 F1ii(X) 1ii ∩↗A └A Invertor ternar negativ (Mouftah), x i (Yoeli), decodare-i
FT1S+6=FT1N19 unu i 0 schimbă 0 și −1 F1i0(X) = „NU2(X)” = „NU+1(x)” 0 1 1 schimb 1/0 _ schimb 1/0 _ /\'
FT1S+7=FT1N20 unu i unu adaptor la binar, „inversie Lukasiewicz” de la detectorul 0 F1i1(X) 1i1 ∪↘∩A
FT1S+8=FT1N21 unu 0 i rotație zero, repetor, Da, funcție de identitate, linie de întârziere, semn de număr F10i(X) = Sgn (X) 101 _ tampon
A
A Tampon
FT1S+9=FT1N22 unu 0 0 convertor în binar F100(X) 100 ∩↘ A ¬ A +R, M1
FT1S+10=FT1N23 unu 0 unu convertor în binar F101(X) 101 ↗∪ A
FT1S+11=FT1N24 unu unu i adaptor la binar, „inversie Lukasiewicz” de la detector −1 F11i(X) 11i ∪↘A ┘A Invertor ternar pozitiv
FT1S+12=FT1N25 unu unu 0 deplasare neciclică în sus, deplasare neciclică +1 F110(X) 110 ↗A = Shift Up,↗ A ¬┘A Invertor ternar pozitiv cu împământare M6
FT1S+13=FT1N26 unu unu unu adaptor la +1, identic +1, identic maxim F111(X) = 1 111 ieșire întotdeauna 1

Semnele „i”, „ 1 ”, „7” și „2” reprezintă „-1”.
Tabelul arată că la codificarea simetrică, funcțiile sunt aceleași ca și la codarea asimetrică, doar numerele funcției sunt deplasate cu −13, iar la înlocuirea semnelor (-1,0,+1) cu semnele (0,1,2 ) se obține un tabel de funcții ternare unare într-un sistem ternar asimetric cu corespondența (-1,0,+1) = (0,1,2).
Dacă semnul „i” este înlocuit cu semnul „2”, atunci numerele funcției vor diferi de numerele funcției din tabelul cu codificare asimetrică doar prin „rotirea cu 1 înainte” a numărului asimetric, adică prin funcție FT1N7 (RotF) din numărul asimetric.
În consecință, pentru a obține numărul funcției în tabel cu codare asimetrică, în numărul cu codare simetrică, trebuie să înlocuiți semnul „i” cu semnul „2” și să luați funcția ternară „rotație cu 1 înapoi” ( FT1N11, RotB) din fiecare dintre cifrele sale.

Funcția de identitate logică ternară

Repetitor logic ternar. Este cea mai simplă linie de întârziere .

Schimbări și rotații

Negația (inversiunea, răsturnarea, inversarea) Not (Inv) există doar în logica pare: binară, cuaternară, hexazecimală etc.
În logica ternară, în loc de negație (inversie, răsturnare, inversare) Not (Inv), există cinci funcții similare : trei schimburi - Swap și două rotații - Rot, care nu sunt asemănări exacte de negație (inversie), dar sunt un pic ca negația (inversie).
În logica octală, schimbarea a două valori pe un cerc octal schimbă doar două dintre cele opt valori și seamănă puțin cu o inversare binară. Patru deplasări ciclice cu 1 pas (Rot) pe un cerc octal fac o inversare completă a tuturor celor opt valori. Astfel, asemănarea aproape completă cu inversarea binară a lui Not (rotație cu 180 °) în logica octală este de 4 deplasări ciclice cu 1 pas (cu 45 °) la stânga sau la dreapta (RotateLeft și RotateRight). În mod similar, în logica ternară, asemănările inversării binare a lui Not sunt deplasări ciclice la stânga și la dreapta cu 1 pas (cu 120 °) (RotateLeft și RotateRight), și nu schimburi de doar două valori din toate trei (Swap ), cu singura diferență fiind că în logica ternară, din cauza pasului de 120°, nu există o asemenea similitudine a inversării binare a Not ca în logica octală și în alte logici pare.
Într-un moment în care nu se știa acest lucru, s-au dezvoltat nume eronate precum „inversia Lukasiewicz”, care, de fapt, este centrala celor trei schimburi - Swap + 1 / -1 și este mai puțin asemănătoare cu binarea Not inversion decât deplasările ciclice 1 pas la stânga și la dreapta (rotiți 120° la stânga și la dreapta, RotateLeft și RotateRight).

Schimburi în logică ternară

Schimburile sunt operațiuni unare care schimbă două dintre cele trei stări logice.
Spre deosebire de logica binară, în care există un singur schimb Swap0/+1 care coincide cu inversarea (negarea) lui Not, în logica ternară există trei schimburi [17] :
- FT1N19, FT1S+2, Swap0/+1 (schimb 0). și +1), ("NOT-1")
- FT1N15, FT1S-8, Swap+1/-1 (schimb +1 și -1), ("NOT0", "NOTL" - "Inversie Lukasiewicz")
- FT1N5 , FT1S+6, Swap0/-1 (schimba 0 și −1), ("NU+1")

Schimbul tradițional Swap+1/-1 (numit inversare sau adăugare, negație incompletă), care nu afectează starea „0” („necunoscut”), este numit în mod eronat „ negația lui Lukasiewicz ” („inversarea lui Lukasiewicz”). unele articole despre logica ternară, și notate ca „~Lx” („NLx”, „¬Lx”, „x’L”, „NOTL” sau „NOT0”). Funcția „inversie (negație) lui Lukasiewicz” este inclusă în logica lui Kleene . Logica lui Lukasiewicz și logica lui Kleene au fost studii timpurii ale funcțiilor ternare și nu au acoperit toate funcțiile ternare. Sunt submulțimi trunchiate ale mulțimii generale a celor mai simple funcții ternare.

În plus față de schimbul tradițional Swap+1/-1 (“inversie Lukasiewicz”), care menține starea 0 (“necunoscut”) neschimbată, mai există două operațiuni de schimb, care sunt desemnate ca Swap0/+1 (“NU- 1”) și Swap0/ -1 ("NU+1"). Primul păstrează starea -1 ("fals") neschimbată, iar al doilea păstrează +1 ("adevărat"):
Tabelul 5. (Acest tabel determină numărul de Swap-uri în sistemul de codificare ternar simetric.)

y\x +1 0 -unu
FT1S+2 0 +1 -unu Swap0/+1, „NOT-1”, schimb de două valori mai mari
FT1S-8 -unu 0 +1 Schimbați + 1/-1, „NOT0”, „NOTL”, schimb de două valori extreme („Lukasiewicz inversare”)
FT1S+6 +1 -unu 0 Schimbați 0/-1, „NU+1”, schimbați două valori mai mici

Într-un sistem de codare asimetric ternar, există șase potriviri posibile cu un sistem de codare simetric ternar, dar numai două dintre cele șase potriviri sunt cele mai semnificative: cu semnul „-1” înlocuit cu „2” fără o deplasare ciclică înainte (în sus , dreapta) la +1 0,+1)=(2,0,1) și cu o deplasare ciclică înainte (sus, dreapta) cu +1 (-1,0,+1)=(0,1,2) .
Același tabel, dar cu notația (-1,0,+1)=(2,0,1) și enumerarea valorilor argumentului: 2, 0, 1):

y\x unu 0 2
FT1S+2 0 unu 2 Swap01, schimb de două valori mari
FT1S-8 2 0 unu Swap12, schimbând două extreme ("inversarea Lukasiewicz")
FT1S+6 unu 2 0 Swap02, schimb a două valori mai mici

Același tabel într-un sistem de codare asimetric ternar fără deplasare, dar numai cu semnul „-1” înlocuit cu „2” (-1,0,+1)=(2,0,1), dar cu enumerarea valorile argumentului: 0, 1, 2 (acest tabel determină numărul de funcții din sistemul de codare asimetric ternar) (în acest tabel, „inversia Lukasiewicz” este deja un schimb de două valori cele mai mari și nu două valori extreme, ca în tabelele anterioare, precum și alte două funcții de schimb, dar, pentru o mai bună distincție între funcțiile de schimb, este mai bine să lăsați numele acțiunilor lor în sistemul de codificare ternar simetric):

y\x 2 unu 0
FT1N19=FT1S+2 2 0 unu Swap01, schimb de două valori mari
FT1N15=FT1S-8 unu 2 0 Swap12, schimbând două extreme ("inversarea Lukasiewicz")
FT1N5=FT1S+6 0 unu 2 Swap02, schimb a două valori mai mici

În tabelul din sistemul de codare asimetric ternar cu o deplasare cu RotR(X) (-1,0,+1)=(0,1,2), aceleași funcții din tabel se dovedesc a fi deplasate ciclic cu o linie , adică „inversia lui Lukasiewicz ” nu mai este FT1N15 (Swap12), ci FT1N5 (Swap02), alte două funcții Swap au fost, de asemenea, mutate:

y\x 2 unu 0
FT1N15 unu 2 0 Swap12 (schimbați două valori mari)
FT1N5 0 unu 2 Swap02 (schimb a două valori extreme), ("inversie Lukasiewicz")
FT1N19 2 0 unu Swap01 (schimbați două valori mai mici)

Graficul operațiunii Swap0/+1 ("NOT-1") este o muchie a unui triunghi cu tranziții în două sensuri de la 0 la +1 și înapoi.
Graficul de tranziție în operația Swap+1/-1 („inversia Lukasiewicz”) este o muchie a unui triunghi cu tranziții în două sensuri de la +1 la -1 și înapoi. Graficul operației Swap0/-1 ("NU+1") este o muchie a unui triunghi cu tranziții în două sensuri de la 0 la -1 și înapoi.
Toate cele trei operații sunt liniare, unidimensionale, nu ies din linie în plan.

Legea schimbului dublu este valabilă pentru toate logicile cu mai multe valori.
Pentru toate cele trei schimburi, precum și pentru Swap0/+1(Swap01(X)) = X în logica binară , ecuațiile sunt valide:

Schimbare0/+1(Schimbare0/+1(X)) = X
Schimbare+1/-1(Schimbare+1/-1(X)) = X
Schimbare0/-1(Schimbare0/-1(X)) = X

Rotații

Rotații și inversiuni

În logica binară, rotația, negația, inversarea, inversarea și negația sunt aceleași și sunt exprimate printr-o singură operație de rotație cu 180 ° - un fel de „5 în 1” NU (X).
Asemănarea exactă a funcției binare NOT(X) există doar chiar și în logicile cu mai multe valori: cuaternar, hexazecimal, octal etc.
În logica ternară și mai semnificativă, rotația, negația, inversarea, inversarea și negația sunt funcții diferite și nu coincide.
În loc de o rotație de 180° (Nu) în logica binară, există două rotații de 120° în logica ternară: RotLeft (-120°) și RotRight (+120°).
Deoarece dispozitivele electromecanice (relee) și electronice (trepte de tranzistor) inversează faza cu 180 °, acestea sunt foarte potrivite pentru dispozitivele logice binare. În logica ternară, sunt necesare dispozitive care rotesc faza cu 120 °. Astfel de dispozitive sunt relativ ușor de executat mecanic, dar mai dificil de realizat electronic. Una dintre soluțiile la această problemă sunt dispozitivele realizate într-un sistem pe trei biți (3Bit BinaryCodedTernary, 3B BCT) de elemente logice ternare [18] .

În logici cu multe valori

În logica binară, există o lege a dublei rotații cu 1 pas (180°) într-o direcție (dublă negație):

Nu(Nu(x)) = x
Putregai(Putrecerea(x)) = x

Sensul de rotație nu este diferit. Datorită pasului de rotație de 180°, acesta ia exact poziția opusă pe cerc (negație, inversare, inversare și negație), deci Rot(x) (rotație), Not(x) (negație), Inv(x) ( flip) și Neg(x) se potrivesc.

În logica ternară, există o lege a triplei rotații cu 1 pas (120 °) (deplasare ciclică cu 1 pas) într-o direcție:

RotF(RotF(RotF(x))) = x
RotB(RotB(RotB(x))) = x

direcția de rotație este diferită, dar luarea exactă a poziției opuse pe cerc (negație), datorită pasului de rotație de 120 °, nu are loc, prin urmare denumirea de Schimb (schimb) pentru cele trei funcții ternare cunoscute este mai precisă decât Not (negație) și Inv (flip) .

În logica cuaternară, există o lege a rotației cvadruple cu 1 pas (90 °) (deplasare ciclică cu 1 pas) într-o direcție:

RotF(RotF(RotF(RotF(x)))) = x
RotB(RotB(RotB(RotB(x)))) = x

Sensul de rotație este diferit. Datorită pasului de rotație de 90°, este posibil să se ia exact poziția opusă pe cerc (Not (negație) și Inv (flip)), dar negația (Nu) este una, nu trei.

În logica de cinci ori, există o lege a rotației de cinci ori cu 1 pas (72 °) (deplasare ciclică cu 1 pas) într-o direcție:

RotF(RotF(RotF(RotF(RotF(x))))) = x
RotB(RotB(RotB(RotB(RotB(x)))))) = x

Sensul de rotație este diferit. Datorită pasului de rotație de 72°, nu este posibil să luați poziția exact opusă pe cerc (negație (Nu) și inversare (Inv)) …

În logica N-ary, există o lege a N-a rotație pe 1 pas:

N rotații pentru 1 pas într-o direcție echivalează cu repetiție (enunț).

În logica (N+1)-aria există o lege a (N+1)-a rotație:

(N+1) rotații de 1 pas într-o direcție sunt echivalente cu repetarea (afirmația).

Generalizare:
În logica plană N-ary, cercul logic plan este împărțit în N părți, în timp ce N rotații unitare (rotații cu 1 pas (deplasări ciclice cu 1 pas)) într-o direcție de-a lungul cercului logic plan sunt aduse la punctul de plecare .

Negațiile (Nu) și inversiunile (Inv) există doar chiar și în logica multivalorică.

În logica tridimensională, locul unui cerc este ocupat de sfere multidimensionale (în cel mai simplu caz, tridimensionale).

Rotații în logică ternară

Rotații (deplasări ciclice, negații, inversiuni, schimburi) înainte și înapoi (rotație în sus și rotație în jos) [17] .

Dacă luăm în considerare graficele cu mai multe vârfuri , atunci rotația cu 1 pas înainte (deplasarea ciclică cu 1 înainte), rotația cu 1 pas înapoi (deplasarea ciclică cu 1 înapoi) și inversiunile (înversările) sunt posibile în ele.

Rotațiile nu sunt inversiuni și diferă de funcția de swap Swap+1/-1 (“ inversie Lukasiewicz (negație ”)) și de cele două operațiuni de swap Swap0/+1 (“NOT-1 inversare”) și Swap0/-1 (“ inversă NOT+1"). Sunt mai simple și descriu mai pe deplin posibilele tranziții. În proiectul lui Steve Grubb, aceste funcții se numesc rotire în sus (RotU) și rotire în jos (RotD), în plus, sunt numite și rotație înainte RotF și rotație înapoi RotB și rotație stânga RotLeft și rotație dreapta RotRight.

În sistemul de codare simetric ternar cu notația (-1,0+1)=( 1 ,0,+1):

y\x unu 0 unu
FT1S-6=FT1N7 unu unu 0 RotF, RotU
FT1S-2=FT1N11 0 unu unu RotB, RotD

În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):

y\x 2 unu 0
FT1N7 0 2 unu RotF (Rotire înainte), RotU (Rotire în sus)
FT1N11 unu 0 2 RotB (Rotire înapoi), RotD (Rotire în jos)

Pentru ambele funcții sunt valabile ecuațiile:
RotF(RotF(RotF(x))) = x
RotB(RotB(RotB(x))) = x
care este legea triplei rotații:
trei rotații ternare sunt echivalente cu o afirmație
care este similară cu legea dublei rotații în logica binară.

Doar în logica ternară o rotație de 2 pași la dreapta este egală cu o rotație de 1 pas la stânga:
RotF(x) = RotB(RotB(x))
RotB(x) = RotF(RotF(x))

Următoarele ecuații sunt valabile și în logica cu mai mult de trei valori:
Rot1B(Rot1F(x)) = x
Rot1F(Rot1B(x)) = x

Funcții logice ternare unare (operații, elemente) cu rezultat binar (ieșire)

În total, există cele mai simple funcții ternare unare cu o ieșire binară.

Aceste funcții includ demultiplexoare și decodoare cu o ieșire binară (pe doi biți) (rezultat).

Funcții logice ternare unare (operații, elemente) cu rezultat trinar (ieșire)

În total, există cele mai simple funcții ternare unare cu o ieșire trinară.

Aceste funcții includ demultiplexoare și decodoare cu un rezultat (ieșire) trinar (pe trei biți).

Decodor ternar „1 trit în 3 linii”

Poate fi considerată ca uniunea a trei funcții ternare unare cu rezultatele unare din tabelul 1.

y\x 0 =x 2 unu 0
0 0 0 unu FT1N1
unu 0 unu 0 FT1N3
2 unu 0 0 FT1N9

Funcții logice ternare unare (operații, elemente) cu ieșiri m-are

În total, există cele mai simple funcții ternare unare cu o ieșire m-ary, adică un număr infinit.

Aceste funcții includ demultiplexoare și decodoare cu rezultat (ieșire) m-ary (m-bit).

Funcții logice binare ternare (operații, elemente)

Funcții booleene binare ternare cu rezultat unar

În total, sunt posibile cele mai simple funcții ternare binare (cu două locuri, doi operanzi, două argumente, două intrări) cu o ieșire unară, unele dintre ele sunt prezentate în tabel:

Tabel cu unele funcții binare ternare cu ieșire unară cu codare nesimetrică

Tabelul 5

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0 Nume acțiune (funcție). Notație f(x,y)
FT2N0 10 0 0 0 0 0 0 0 0 0 Zero identic, minim identic FT2N0(x,y) = 0(x,y) = 0
FT2N1 10 0 0 0 0 0 0 0 0 unu Emularea ternară a binarului 2SAU-NU 2 , săgeți Pierce FT2N1(x,y) = x ↓ 2y
FT2N18 10 0 0 0 0 0 0 2 0 0 Detector (xy)=2 (adevărat=2, fals=0)
FT2N21 10 0 0 0 0 0 0 2 unu 0
FT2N30 10 0 0 0 0 0 unu 0 unu 0 Emularea ternară a adiției binare modulo 2, XOR 2 FT2N30(x,y) = XOR 2 (x,y)
FT2N31 10 0 0 0 0 0 unu 0 unu unu Emularea ternară a binarului 2I-NOT2 , accident vascular cerebral Schaeffer FT2N31(x,y) = NAND 2 (x,y) = NAND 2 (x,y) = Nu 2 (Min 2 (x,y))
FT2N81 10 0 0 0 0 unu 0 0 0 0 Emularea ternară a binarului 2-in AND 2 , 2AND 2 , min 2 (x,y) FT2N81(x,y) = min 2 (x,y) = AND 2 (x,y) = AND 2 (x,y)
FT2N109 10 0 0 0 0 unu unu 0 0 unu Emularea ternară a implicației directe (materiale) binare , X <= 2 Y FT2N109(x,y) = IMP 2 (x,y) = (x LE 2 y)
FT2N111 10 0 0 0 0 unu unu 0 unu 0 Emularea ternară a binarului 2OR 2 , max 2 (x,y) FT2N111(x,y) = max 2 (x,y) = SAU 2 (x,y) = SAU 2 (x,y)
FT2N113 10 0 0 0 0 unu unu 0 unu 2 Asemănarea ternară a funcției Webb binare, conform lui Paul Falstad CGOR [19] FT2N113(x,y) = Swap20(Max(x,y))
FT2N210 10 0 0 0 0 2 unu 2 unu 0 Modulul 3 adăugare cu un termen incomplet
FT2N223 10 0 0 0 0 2 2 0 2 unu Asemănarea ternară a funcției Webb binare FT2N223(x,y) = RotR(Max(x,y))
FT2N243 10 0 0 0 0 unu 0 0 0 0 Purtați descărcarea atunci când adăugați un termen incomplet
FT2N492 10 0 0 0 2 0 0 0 2 0 detector (xy)=1 (adevărat=2, fals=0)
FT2N510 10 0 0 0 2 0 0 2 2 0 x>y (adevărat=2, fals=0)
FT2N567 10 0 0 0 2 unu 0 0 0 0
FT2N1458 10 0 0 2 0 0 0 0 0 0 Detector xy=-2 (adevărat=2, fals=0)
FT2N2622 10 0 unu 0 unu 2 unu 0 unu 0 Mean Function de Steve Grubb [20] x→y [21]
FT2N3170 10 0 unu unu unu 0 0 unu 0 2 Asemănarea ternară a funcției Webb binare FT2N3170(x,y) = RotL(Max(x,y))
FT2N4049 10 0 unu 2 unu unu 2 2 2 2 CGAND [22] FT2N4049(x,y)
FT2N4428 10 0 2 0 0 0 2 0 0 0 Detector xy=-1 (adevărat=2, fals=0) FT2N4428(x,y)
FT2N5299 10 0 2 unu 0 2 unu 0 2 unu rotiți la dreapta (înainte) cu 1 (1/3 tură) doar o secundă argument (operand) FT2N5299(x,y) = RotR(x)
FT2N5681 10 0 2 unu 2 unu 0 unu 0 2 Bitul cel mai puțin semnificativ al sumei (diferența) în sistemul numeric simetric ternar în conformitate cu
{-1,0,+1}={0,1,2}, sum3s(x,y)
FT2N5886 10 0 2 2 0 0 2 0 0 0 x<y (adevărat=2, fals=0)
FT2N6396 10 0 2 2 2 0 2 2 2 0 Detector x≠y (adevărat=2, fals=0)
FT2N7153 10 unu 0 0 2 unu 0 2 2 unu Funcția de mărime de Steve Grubb [23]
FT2N8229 10 unu 0 2 0 2 unu 2 unu 0 Adăugarea Modulului 3 într-un sistem simetric cu corespondența {-1,0,+1}={0,1,2}, SumMod3s(x,y)
FT2N8991 10 unu unu 0 unu 0 0 0 0 0 Bit de transport pentru adăugare binară într-un sistem asimetric FT2N8991(x,y) = Carry3n(x,y)
FT2N9841 10 unu unu unu unu unu unu unu unu unu Unitate identică, medie identică FT2N9841(x,y) = 1(x,y) = 1
FT2N9951 10 unu unu unu unu 2 2 unu 2 0 Asemănarea ternară a funcției Webb binare FT2N9951(x,y) = Swap21(Max(x,y))
FT2N13203 10 2 0 0 0 unu 0 0 0 0 Purtați cifra în adunare binară în sistemul numeric simetric ternar cu corespondența {0,1,-1}={0,1,2} sau {-1,0,+1}={2,0,1} FT2N13203(x,y)= Carry3s(x,y)
FT2N13286 10 2 0 0 0 2 0 0 0 2 x=y (adevărat=2, fals=0)
FT2N13796 10 2 0 0 2 2 0 2 2 2 x>=y (adevărat=2, fals=0)
FT2N15309 10 2 unu 0 0 0 0 0 0 0
FT2N15633 10 2 unu 0 unu unu 0 0 0 0 Minimum (mai mic dintre doi), Funcție min de Steve Grubb [24] [25] FT2N15633(x, y) = Min(x, y)
FT2N15674 10 2 unu 0 unu unu unu unu unu 2 Funcția de succesiune ternară Brusentsov F2TN15674(x,y)
FT2N15740 10 2 unu 0 unu 2 0 2 2 2 Heyting implicație FT2N15740(x, y)
FT2N15897 10 2 unu 0 2 unu 0 2 unu 0 repeta doar primul argument (operand) FT2N15897(x,y) = Da1(x,y) = x
F2TN15929 10 2 unu 0 2 unu unu 2 2 2 Implicație materială FT2N15929(x,y)
F2TN16010 10 2 unu 0 2 2 unu 2 2 2 Implicația Lukasiewicz F2TN16010(x,y)
FT2N16401 10 2 unu unu unu unu unu unu unu 0 Carry bit în adunare-scădere binară într-un sistem ternar simetric în conformitate cu {-1,0,+1}={0,1,2} FT2N16401(x,y) = Carry3s(x,y)
FT2N19172 10 2 2 2 0 2 2 0 0 2 x<=y (adevărat=2, fals=0) FT2N19172(x,y)
FT2N19305 10 2 2 2 unu unu unu 0 0 0 repeta doar al doilea argument (operand) FT2N19305(x,y) = Da2(x,y) = y
FT2N19459 10 2 2 2 2 0 0 2 0 unu Asemănarea ternară a funcției Webb binare FT2N19459(x,y) = Swap10(Max(x,y))
FT2N19569 10 2 2 2 2 unu unu 2 unu 0 Maximum (mai mare de doi), Max Function de Steve Grubb [26] [27] FT2N19569(x, y) = Max(x, y)
FT2N19682 10 2 2 2 2 2 2 2 2 2 Două identice, maxim identice FT2N19682(x,y) = 2(x,y) = 2
Tabel cu unele funcții binare ternare cu ieșire unară cu codare simetrică

Tabelul 6

x0 = x unu 0 i unu 0 i unu 0 i
x 1 =y unu unu unu 0 0 0 i i i Nume acțiune (funcție). Desemnare
FT2S-9841 i i i i i i i i i Identic -1, identic minim F-9841(x,y) = -1
FT2S-9618 i i i i unu unu i unu 0 Funcția Webb F-9618 = Webb(x,y)
FT2S-6388 i 0 0 unu i 0 unu unu i F-6388
FT2S-4542 i unu 0 i unu 0 i unu 0 rotiți înainte 1/3 de tură dintr-un singur argument secund (operand) F-4542 = SHIFTF(X,Y) = SHIFTF(X)
FT2S-4160 i unu 0 unu 0 i 0 i unu Cea mai puțin semnificativă cifră a sumei (diferența) atunci când se adună în sistemul numeric simetric ternar, sum3s (x, y) F-4160
FT2S-3700 i unu unu 0 i unu 0 0 i F-3700
FT2S-3445 i unu unu unu i unu unu unu i x≠y, notL(x=y), detector x≠y (adevărat=+1 și fals=-1) F-3445
FT2S-2688 0 i i unu 0 i unu unu 0 semn(yx), funcție de mărime de Steve Grubb [23] F-2688 = semn(yx)
FT2S-1612 0 i unu i unu 0 unu 0 i Adăugarea Modul 3 în sistem asimetric, summod3n(x,y) F-1612
FT2S-850 0 0 i 0 i i i i i Bit de transport pentru adăugare binară într-un sistem asimetric F-850
F2TS0 0 0 0 0 0 0 0 0 0 Zero identic, medie identică F0(x,y) = 0
FT2S2688 0 unu unu i 0 unu i i 0 notL(sign(yx)), inversul lui Lukasiewicz al funcției de mărime de Steve Grubb F2688
FT2S3700 unu i i 0 unu i 0 0 unu F3700
FT2S3955 unu i i unu unu i unu unu unu (x<y, notL(x>y)) (adevărat=+1 și fals=-1) F3955
FT2S5792 unu 0 i 0 0 i i i i Mai mic dintre două, minim F5792 = min(x,y)
FT2S5833 unu 0 i 0 0 0 0 0 unu Funcția de succesiune ternară Brusentsov F5833
FT2S6056 unu 0 i unu 0 i unu 0 i repeta doar al doilea argument (operand) F6056 = DA1(x,y) = x
FT2S6088 unu 0 i unu 0 0 unu unu unu Implicație materială F6088
FT2S6142 unu 0 i unu unu i unu unu unu Heyting implicație F6142
FT2S6169 unu 0 i unu unu 0 unu unu unu Implicația Lukasiewicz F6169
FT2S6388 unu 0 0 i unu 0 i i unu F6388
FT2S6550 unu 0 0 0 0 0 0 0 i Carry bit în adiție binară într-un sistem ternar simetric F6560
FT2S9331 unu unu unu i unu unu i i unu x>y, notL(xy) (adevărat=+1 și fals=-1) F9331
FT2S9464 unu unu unu 0 0 0 i i i repeta doar primul argument (operand) F9464 = DA2(x,y) = y
FT2S9728 unu unu unu unu 0 0 unu 0 i Mai mare dintre două, maxim F9728 = max(x,y)
FT2S9841. unu unu unu unu unu unu unu unu unu +1 identic, maxim identic F9841(x,y) = 1

„i”, „ 1 ”, „7” sau „2” înseamnă „-1”

Toate cele 19.683 de funcții binare ternare cele mai simple sunt realizate de un ALU ternar (2Trit în 1Trit) într-un sistem de trei biți de elemente logice ternare, un instantaneu al modelului căruia este prezentată în figură simulatorul logic Atanua .

Emularea ternară a binarului 2OR-NOT ( săgeți Pearce )

Emularea ternară a funcției binare binare 2SAU-NU (săgeata lui Pierce).
Rezultatul este binar.
În sistemul de codificare asimetric ternar cu notația (-1,0,1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 0 0 0 - 1 0 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N1 10 0 0 0 0 0 0 0 0 unu FT2N1 = x↓y

Emularea ternară a adunării binare modulo 2, XOR

Emularea ternară a funcției binare „adăugare binară modulo 2”, XOR.
Rezultatul este binar.
În sistemul de codificare asimetric ternar cu notația (-1,0,1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 100 - 0 1 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N30 10 0 0 0 0 0 unu 0 unu 0 FT2N30 = XOR(x,y)

Emularea ternară a binarului 2NAND ( Scheffer stroke )

Emularea ternară a unei funcții binare binare 2I-NOT (Scheffer stroke).
Rezultatul este binar.
În sistemul de codificare asimetric ternar cu notația (-1,0,1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 100 - 1 1 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N31 10 0 0 0 0 0 unu 0 unu unu FT2N31 = NAND(x,y) = NAND(x,y) = Nu(Min(x,y))

Emularea ternară a binarului 2I, min(x, y)

Emularea ternară a unei funcții binare binare 2-in AND, 2AND, min(x, y).
Rezultatul este binar.
În sistemul de codificare asimetric ternar cu notația (-1,0,1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 0 1 0 - 0 0 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N81 10 0 0 0 0 unu 0 0 0 0 FT2N81 = min(x,y) = AND(x,y) = AND(x,y)

Emularea ternară a implicației directe (materiale) binare, x <= y

Emularea ternară a unei funcții binare binare „implicație directă (materială)”, x <= y.
Rezultatul este binar.
În sistemul de codificare asimetric ternar cu notația (-1,0,1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 1 1 0 - 1 0 0 -> x |

Diagrama arată clar asimetria funcției.
Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N109 10 0 0 0 0 unu unu 0 0 unu FT2N109 = IMP(x,y) = (x LE y)

Emularea ternară a binarului 2OR, max(x, y)

Emularea ternară a funcției binare binare 2-in OR, 2OR, max(x, y).
Rezultatul este binar.
În sistemul de codificare asimetric ternar cu notația (-1,0,1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 1 1 0 - 0 1 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N111 10 0 0 0 0 unu unu 0 unu 0 FT2N111 = max(x,y) = SAU(x,y) = SAU(x,y)

Mai multe

Rezultatul este în esență binar.
Într-un sistem de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Adevărat=1, fals= 1 .
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 1 1 1 -> x 1 1 1 |

Diagrama arată clar asimetria funcției față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S-9331 10 unu unu unu unu unu unu unu unu unu x>y


În sistemul numeric simetric ternar cu notația (-1,0,+1)=(2,0,1):
Adevărat=1, fals=2 (-1).
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 2 2 2 - 2 2 1 -> x 2 1 1 |

Sub forma unui tabel de adevăr:

x0 = x unu 0 2 unu 0 2 unu 0 2
x 1 =y unu unu unu 0 0 0 2 2 2
FT2N19427 10 2 2 2 unu 2 2 unu unu 2 x>y

În sistemul numeric asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 0 0 2 - 0 2 2 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N510 10 0 0 0 2 0 0 2 2 0 x>y

Mai mare sau egal cu

Rezultatul este în esență binar.
Într-un sistem de codare simetric ternar cu notația (-1,0,1)=( 1 ,0,1):
Adevărat=1, fals= 1 .
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 1 1 1 -> x 1 1 1 |

Diagrama arată clar asimetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S3955 10 unu unu unu unu unu unu unu unu unu x>=y

În sistemul de codificare asimetric ternar cu notația (-1,0,1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 2 0 2 2 - 2 2 2 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N13796 10 2 0 0 2 2 0 2 2 2 x>=y

Mai puțin

Rezultatul este în esență binar.
Într-un sistem de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Adevărat=1, fals= 1 .
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 1 1 1 -> x 1 1 1 |

Diagrama arată clar asimetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S-3955 10 unu unu unu unu unu unu unu unu unu x<y


În sistemul de codificare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 2 2 0 200 - 0 0 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N5886 10 0 2 2 0 0 2 0 0 0 x<y

Mai mic sau egal cu

Rezultatul este în esență binar. În notația de codare simetrică ternară (-1,0,+1)=( 1 ,0,1):
Rezultatul este în esență binar.
adevărat=1, fals= 1 .
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 1 1 1 -> x 1 1 1 |

Diagrama arată clar asimetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S9331 10 unu unu unu unu unu unu unu unu unu x<=y


În sistemul de codificare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 2 2 2 2 2 0 - 2 0 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N19172 10 2 2 2 0 2 2 0 0 2 x<=y

Egal

se calculează eqv(x, y); xeqvy.
În notația de codare simetrică ternară (-1,0,+1)=( 1 ,0,1):
Rezultatul este în esență binar.
Adevărat - 1, fals - 1 .
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 1 1 1 -> x 1 1 1 |

Diagrama arată clar simetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S3445 unu unu unu unu unu unu unu unu unu x=y


În sistemul de codare asimetric ternar cu notații (-1,0,+1)=(0,1,2):
Cu notații de rezultat: adevărat=2, fals=0.
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 2 0 2 0 - 2 0 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N13286 10 2 0 0 0 2 0 0 0 2 x=y

Ca matrice

Funcția de relație ternară

Comparator ternar cu ieșire ternară unară.
Magnitude Function de Steve Grubb [23]
Unambiguous [28]
Determină raportul trits în cifre.
Pe lângă egalitatea lui Lukasiewicz, care are un rezultat binar și este asemănătoare egalității binare, în logica ternară generală apar funcții relaționale ternare, care determină imediat trei posibile relații de operanzi - mai mici decât, egale sau mai mari decât. Deoarece în logica binară rezultatul poate lua doar două valori, nu există astfel de funcții în logica binară.
Rezultatul se schimbă atunci când se schimbă locurile operanzilor.
În funcție de ordinea relațiilor din rezultat, pot exista mai multe varietăți ale acestei funcții. De exemplu (<,=,>), (>,=,<) și exotice (<,>,=), (>,<,=), (=,<,>) etc.
Într-un sistem de codare simetric ternar cu notație (-1,0,+1)=( 1 ,0,1):
Cu notație rezultat (x<y,x=y,x>y) = (<,=,>) = ( 1 ,0, 1).
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 0 - 1 0 1 -> x 0 1 1 |

Diagrama arată clar asimetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S-2688 10 0 unu unu unu 0 unu unu unu 0 semn(yx)

Într-un sistem de codare asimetric ternar cu notație (-1,0,+1)=(0,1,2):
Cu notație rezultat (x<y,x=y,x>y) = (<,=,>) = (0,1,2).
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 1 0 1 2 - 1 2 2 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 primul operand
x 1 =y 2 2 2 unu unu unu 0 0 0 al 2-lea operand
FT2N7153 10 unu 0 0 2 unu 0 2 2 unu F(x,y)

Comparator Trinity cu ieșire binară trinară

Compară triturile pe biți a două numere și are o ieșire binară ternară: mai mică decât, egală cu, mai mare decât. Este unirea celor trei funcții binare ternare separate anterioare.
Rezultatul se schimbă atunci când se schimbă locurile operanzilor.
adevărat=2, fals=0

x0 = x 2 unu 0 2 unu 0 2 unu 0 primul operand
x 1 =y 2 2 2 unu unu unu 0 0 0 al 2-lea operand
x<y 0 2 2 0 0 2 0 0 0
x=y 2 0 0 0 2 0 0 0 2
x>y 0 0 0 2 0 0 2 2 0

Minimum (cel mai mic)

min( x , y ) este calculat.
În logica binară, funcția min(x, y) corespunde conjuncției : x ∧ y, x AND y, 2AND.
Inclus în logica lui Kleene .
În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 0 1 - 1 0 0 -> x 1 1 1 |

Diagrama arată clar simetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x 1 =y unu 0 unu unu 0 unu unu 0 unu
x0 = x unu unu unu 0 0 0 unu unu unu
FT2S5792(x,y) unu 0 unu 0 0 unu unu unu unu min(x,y)

În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 1 2 0 1 1 - 0 0 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N15633 10 2 unu 0 unu unu 0 0 0 0 min(x,y)
Maxim (cel mai mare)

max( x , y ) se calculează.
În logica binară, funcția max(x, y) corespunde disjuncției : x ∨ y, x SAU y, 2OR(x, y).
Inclus în logica lui Kleene .
În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 0 0 1 -> x 1 0 1 |

Diagrama arată clar simetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S9728 10 unu unu unu unu 0 0 unu 0 unu max(x,y)


În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 2 2 2 1 1 2 - 0 1 2 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N19569 10 2 2 2 2 unu unu 2 unu 0 max(x,y)

Ca matrice

Adunarea modulo 3 în sistemul numeric ternar asimetric

Se calculează suma modulo 3: x MOD3 y, MOD3(x, y,).
Un analog al adunării modulo 2 . Numele „SAU exclusiv” („XOR”), folosit pentru „adăugarea binară modulo 2”, pentru „adăugarea ternară modulo 3” este inacceptabil, adică s-a dovedit a fi superficial, nu profund.
În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 0 - 0 1 1 -> x 1 0 1 |

Diagrama arată clar simetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S-1612 10 0 unu unu unu unu 0 unu 0 unu x MOD3 y, MOD3(x,y)


În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 201 1 2 0 - 0 1 2 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N8229 10 unu 0 2 0 2 unu 2 unu 0 x MOD3 y, MOD3(x,y)

Ca matrice

Modulul trei adăugarea este similară cu XOR binar. Aceasta este o adăugare normală, dar fără transfer: în cazul unei depășiri a rețelei de biți, salvează doar bitul ternar cel mai puțin semnificativ. La fel ca XOR binar, modulo trei fie lasă cifra ternară neschimbată, fie o modifică (efectuează operații RotF/RotB, în funcție de semnul cifrei ternare corespunzătoare).

Această caracteristică poate fi utilă pentru implementarea unei jumătăți de adunare și a unui adunator ternar cu un singur capăt .

Carry bit în adaos binar (cu două argumente, doi operanzi) în sistem de numere asimetric ternar

Adică, descărcarea de transfer în timpul adăugării asimetrice ternare într-un semiadunator ternar asimetric .
În sistemul de codare simetric ternar, notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 0 0 - 1 1 0 -> x 1 1 1 |

Diagrama arată clar simetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S-850 10 0 0 unu 0 unu unu unu unu unu

În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 1 1 0 0 1 - 0 0 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N8991 10 unu unu 0 unu 0 0 0 0 0

Ca matrice

Cifra cea mai puțin semnificativă a rezultatului în adunarea simetrică ternară

Adică, bitul cel mai puțin semnificativ dintr-un semisumator ternar simetric .
În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 1 1 - 1 0 1 -> x 1 1 0 |

Diagrama arată clar simetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S-4160 10 unu unu 0 unu 0 unu 0 unu unu LSB într-un semisumator ternar simetric


În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 2 0 0 1 2 - 2 0 1 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
FT2N5681 10 0 2 unu 2 unu 0 unu 0 2 LSB într-un semisumator ternar simetric
Purtați banal pentru adăugarea binară (cu două argumente, doi operanzi) pentru adăugarea simetrică ternară

Adică, transportul trit într-un semisumator ternar simetric .
În sistemul de codare simetric ternar cu notația (-1,0,1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 1 - 0 0 0 -> x 1 0 0 |

Diagrama arată clar simetria față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu
x 1 =y unu unu unu 0 0 0 unu unu unu
FT2S6560 10 unu 0 0 0 0 0 0 0 unu Purtați trit într-un semisumator ternar simetric


În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 2 1 1 1 - 0 1 1 -> x | Înmulțirea ternară

Într-un sistem asimetric ternar (-1,0,+1)=(0,1,2):
Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 înmulțit
x 1 =y 2 2 2 unu unu unu 0 0 0 Factor
FT2N11502 10 unu 2 0 2 unu 0 0 0 0 Trit rezultat junior
FT2N6561 10 unu 0 0 0 0 0 0 0 0 Rezultat major trit (carry trit)

Transferul are loc într-un caz din nouă.

Sub forma a două diagrame bidimensionale (cu două argumente, două coordonate):

FT2N11502 FT2N6561 da ^ ^ | | 0 2 1 0 0 1 0 1 2 0 0 0 - 0 0 0 -> x - 0 0 0 -> x | |


Într-un sistem simetric ternar (-1,0,+1)=(2,0,1):
Sub forma unui tabel de adevăr:

x0 = x unu 0 2 unu 0 2 unu 0 2 înmulțit
x 1 =y unu unu unu 0 0 0 2 2 2 Factor
FT2N8038 10 unu 0 2 0 0 0 2 0 unu Trit rezultat

Transferul nu are loc deloc.

Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

FT2N8038 y ^ | 201 - 0 0 0 -> x 1 0 2 |

Implicații

Implicația (din latină  implicatio  - plexus, implico  - mă leagă strâns) este o legătură logică corespunzătoare construcției gramaticale „dacă ..., atunci ...”, cu ajutorul căreia se formează un enunț complex din două enunțuri simple. Într-o afirmație implicativă, se distinge un antecedent (bază) - o afirmație care vine după cuvântul „dacă”, și o consecință (consecință) - o afirmație care urmează cuvântului „atunci”. O afirmație implicativă reprezintă în limbajul logicii o declarație condiționată a unui limbaj obișnuit. Acesta din urmă joacă un rol deosebit atât în ​​raționamentul cotidian, cât și în cel științific, principala sa funcție este de a fundamenta unul prin referire la altceva. În logica modernă, există un număr mare de implicații care diferă în proprietățile lor formale:

Funcția de succesiune a lui Ternary Brusentsov

Calculat : În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1): Sub forma unei diagrame bidimensionale (cu două argumente, cu două coordonate):


y ^ | 1 0 1 - 0 0 0 -> x 100 |

Pe o diagramă bidimensională (două argumente, două coordonate), se vede clar că Funcția nu este simetrică, adică atunci când argumentele sunt modificate, rezultatul se schimbă.

Sub forma unui tabel de adevăr:

X unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S5833 10 unu 0 unu 0 0 0 0 0 unu Funcția de succesiune ternară Brusentsov

În sistemul de codificare asimetric ternar cu notația (-1,0,+1) = (0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 1 2 1 1 1 - 2 1 1 -> x |

Sub forma unui tabel de adevăr:

X 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N15674 10 2 unu 0 unu unu unu unu unu 2 Funcția de succesiune ternară Brusentsov
Implicație materială

Implicația materială este una dintre verigile principale din logica clasică. Se definește astfel: implicația este falsă numai în cazul adevărului bazei (antecedentului) și al falsității consecinței (consecinței), și adevărată în toate celelalte cazuri. Condiționalul „dacă x atunci y” sugerează o legătură reală între ceea ce vorbesc x și y; expresia „x implică material y” nu implică o astfel de legătură.

Implicația materială se calculează: max(x,-y); ; x ∨ -y. În sistemul de codare simetric ternar cu notația (-1,0,+1) = ( 1 ,0,1): Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):


y ^ | 1 0 1 - 0 0 1 -> x 1 1 1 |

Pe o diagramă bidimensională (cu două argumente, cu două coordonate), se vede clar că funcția este asimetrică față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul se modifică , dar este simetrică față de diagonala inversă (înclinată spre stânga).
Sub forma unui tabel de adevăr:

X unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S6088 10 unu 0 unu unu 0 0 unu unu unu Implicație materială

În sistemul de codare asimetric ternar cu notația {-1,0,+1} = {0,1,2}:
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 1 2 1 1 2 - 2 2 2 -> x |

Sub forma unui tabel de adevăr:

X 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N15929 10 2 unu 0 2 unu unu 2 2 2 Implicație materială
Implicația lui Heyting

Aceasta face parte din logica multivalorică . Logica lui Heyting a acoperit doar o parte din logica formală clasică .
Implicația (dacă p, atunci q) poate fi afirmată numai dacă există o construcție care, atunci când este combinată cu construcția lui p, dă automat construcția lui q. De exemplu, adevărul propoziției p implică „nu este adevărat că p este fals”. Dar din afirmația „nu este adevărat că p este fals” nu rezultă că p este adevărat, deoarece afirmația p se poate dovedi a fi neconstructivă.

În sistemul de codare simetric ternar cu notația (-1,0,+1) = ( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 0 1 - 1 1 1 -> x 1 1 1 |

Funcția este asimetrică față de diagonala principală, ceea ce se vede clar pe diagrama cu doi argumente (două operanzi, două coordonate), adică atunci când operanzii își schimbă locul, rezultatul se schimbă.
Sub forma unui tabel de adevăr:

X unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S-9841 10 unu 0 unu unu unu unu unu unu unu Heyting implicație

În sistemul de codificare asimetric ternar cu notația (-1,0,+1) = (0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 1 2 0 2 2 - 2 2 2 -> x |

Sub forma unui tabel de adevăr:

X 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N15740 10 2 unu 0 unu 2 0 2 2 2 Heyting implicație
Implicația lui Lukasiewicz

[29] [30] Aceasta face parte din logica modală .

În sistemul de codare simetric ternar cu notația (-1,0,+1) = ( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 0 1 - 0 1 1 -> x 1 1 1 |

Funcția nu este simetrică față de diagonala principală (înclinată spre dreapta), ceea ce se vede clar pe diagrama cu doi argumente (două operanzi, două coordonate), adică atunci când argumentele își schimbă locul, rezultatul se schimbă , dar este simetrică față de diagonala inversă (înclinată spre stânga).
Sub forma unui tabel de adevăr:

X unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S6169 10 unu 0 unu unu unu 0 unu unu unu Implicația Lukasiewicz

În sistemul de codificare asimetric ternar cu notația (-1,0,+1) = (0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 1 2 1 2 2 - 2 2 2 -> x |

Sub forma unui tabel de adevăr:

X 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N16010 10 2 unu 0 2 2 unu 2 2 2 Implicația Lukasiewicz

Adăugarea modulo 3 cu un termen incomplet

Pentru a adăuga o cifră ternară la cifra de transport.
Rezultatul nu se schimbă atunci când operanzii sunt modificați.
În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 2 0 - 0 1 2 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 primul termen
x 1 =y unu unu unu 0 0 0 al 2-lea termen
FT1B1N210 10 0 2 unu 2 unu 0 Suma modulo 3

Sub formă de matrice:

Purtați descărcarea atunci când adăugați cu un termen incomplet

Pentru a adăuga o cifră ternară la cifra de transport.
Rezultatul nu se schimbă atunci când operanzii sunt modificați.
În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 1 - 0 0 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 primul termen
x 1 =y unu unu unu 0 0 0 al 2-lea termen
FT1B1N243 10 unu 0 0 0 0 0 Du-te la n+1

Sub formă de matrice:

Asemănări ternare ale funcției binare Webb

În logica ternară, funcția binară max(x, y) (OR, V) corespunde funcției ternare max(x, y), care nu mai este o funcție OR (V).
Deoarece rotația cu 180 ° - Rot (întorsătură, negație, inversare, negație) (Rot, Not, Inv, Neg) în logica binară în logica ternară corespunde la trei funcții de schimb - Schimbare și două funcții de rotație - Rot, apoi în logica ternară acolo sunt cinci asemănări ternare ale funcției binare Webb egale cu Not(max(x, y)).

Asemănarea ternară a funcției Webb binare cu Swap0/+1

Calculat: asemănarea ternară a funcției Webb binare cu Swap0/+1 = Swap0/+1(max(x, y)).

În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 - 1 1 0 -> x 1 1 0 |

Diagrama arată clar că funcția este simetrică față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
x 1 =y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S110 10 0 0 0 0 unu unu 0 unu unu Webb-like cu Swap0/+1 = Swap0/+1(max(x,y))

În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 2 2 1 - 0 2 1 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
x 1 =y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N9951 10 unu unu unu unu 2 2 unu 2 0 Asemănarea Webb cu Swap2/1 = Swap2/1(max(x,y))

Ca matrice

Asemănarea ternară a funcției Webb binare cu Swap+1/-1

Calculează: asemănarea ternară a funcției Webb binare cu Swap+1/-1 = Swap+1/-1(max(x, y)).

În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 0 0 1 -> x 1 0 1 |

Diagrama arată clar că funcția este simetrică față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
x 1 =y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S-9728 10 unu unu unu unu unu unu unu unu 0 similar cu Webb cu Swap+1/-1 = Swap+1/-1(max(x,y))

În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 1 1 0 - 2 1 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
x 1 =y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N113 10 0 0 0 0 unu unu 0 unu 2 similar cu Webb cu Swap2/0 = Swap2/0(max(x,y))

Ca matrice

Asemănarea ternară a funcției Webb binare cu Swap0/-1

Calculează: asemănarea ternară a funcției Webb binare cu Swap0/-1 = Swap0/-1(max(x, y)).

În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 1 1 1 -> x 0 1 1 |

Diagrama arată clar că funcția este simetrică față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
x 1 =y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S9618 10 unu unu unu unu unu unu unu unu 0 similar cu Webb cu Swap0/-1 = Swap0/-1(max(x,y))

În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 2 2 2 0 0 2 - 1 0 2 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
x 1 =y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N19459 10 2 2 2 2 0 0 2 0 unu Webb(Swap1/0)(x,y) = Swap1/0(max(x,y))

Ca matrice

Asemănarea ternară a funcției Webb binare cu RotF

Calculați: asemănarea ternară a funcției binare Webb cu RotF = RotF(max(x, y)).

În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 1 - 1 1 1 -> x 0 1 1 |

Diagrama arată clar că funcția este simetrică față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
x 1 =y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S-9618 10 unu unu unu unu unu unu unu unu 0 Asemănarea Webb cu RotF = RotF(max(x,y))

În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 0 2 2 0 - 1 2 0 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
x 1 =y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N223 10 0 0 0 0 2 2 0 2 unu Asemănarea Webb cu RotF(x,y) = RotF(max(x,y))

Ca matrice

În logica binară, funcția Webb este indicată de săgeata Pierce (↓) și este definită ca antidisjuncția lui Webb(x, y) = x ↓ y = Not(x SAU y) = Not(max(x, y)) .
Autorul articolului „Informații despre logica cu trei valori” [31] denotă similaritatea ternară a funcției Webb binare prin stroke Sheffer, care în logica binară denotă o anticonjuncție, care este egală cu Sheff(x, y) = x | y = Nu(x ȘI y) = Nu(min(x, y)).
Autorul articolului definește funcția Webb cu trei valori ca Webb(a, b) = a | b = mod3(max(a, b) + 1)) (7) = RotF(max(a, b)), deși în logica binară funcția Webb este indicată prin săgeata Pierce și nu prin cursa Schaeffer și atunci când este notată cu strocul Schaeffer, funcția binară este o anticonjuncție, nu o funcție Webb (antidisjuncție) și este egală cu Not(min(a, b)) = Not(a AND b), nu Not(max(a, b)) = Nu(a SAU b), dar în prima parte a funcției, autorul calculează max(a, b), adică în locul săgeții Pierce (↓), a pus trăsătura Schaeffer (|) , dar a calculat a SAU b = max(a, b), și nu a ȘI b = min(a, b). În a doua parte a funcției, autorul calculează într-un mod complicat una dintre cele cinci asemănări ternare ale inversării binare (negație, negație) - RotF și din anumite motive consideră funcția FT2N223 singurul reprezentant al asemănărilor ternare ale funcției Webb din cele cinci asemănări ternare ale funcției binare Webb, deși funcția FT2N113 (x, y) = Swap2/0(max(x, y)) este mai mult decât FT2N223.

Asemănarea ternară a funcției binare Webb cu RotB

Calculați: asemănarea ternară a funcției binare Webb cu RotB = RotB(max(x, y)).

În sistemul de codare simetric ternar cu notația (-1,0,+1)=( 1 ,0,1):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 0 0 1 - 1 1 0 -> x 1 1 0 |

Diagrama arată clar că funcția este simetrică față de diagonala principală (înclinată spre dreapta), adică atunci când argumentele sunt modificate, rezultatul nu se schimbă.
Sub forma unui tabel de adevăr:

x0 = x unu 0 unu unu 0 unu unu 0 unu 1-a afirmație
x 1 =y unu unu unu 0 0 0 unu unu unu a 2-a afirmație
FT2S-6671 10 unu 0 0 0 unu unu 0 unu unu Asemănarea Webb cu RotB = RotB(max(x,y))

În sistemul de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unei diagrame bidimensionale (cu două argumente, două coordonate):

y ^ | 1 1 0 0 0 1 - 2 0 1 -> x |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 1-a afirmație
x 1 =y 2 2 2 unu unu unu 0 0 0 a 2-a afirmație
FT2N3170 10 0 unu unu unu 0 0 unu 0 2 Asemănarea Webb cu RotB = RotB(max(x,y))

Ca matrice

Raționament despre funcția Webb

Funcția Webb este interesantă pentru că, la fel ca și traseul Schaeffer și săgeata Pierce în logica cu două valori, poate fi folosită pentru a exprima orice funcții cu trei valori:

Singur:

  • RotF(X) = X | X
/* Rezultatul unei operații duble (cu doi operanzi) poate fi egal cu rezultatul funcția cu un singur loc (un singur argument), dar aceasta nu implică egalitatea o singură funcție și operație dublă (doi operanzi). RotF(X) și RotB(X) sunt funcții cu un singur loc (cu un singur argument) și similaritate ternară binar binar (cu două argumente, doi operanzi) Funcție Webb sau operatorul Webb trebuie să fie, ca în logica binară, cu două locuri (două argumente, doi operanzi). În general, pentru ceea ce vor să exprime cu ajutorul logicii ternare, este mai bine logica cuaternară sau octală este potrivită, în timp ce logica ternară are o altă programare. */
  • RotB(X) = RotF(RotF(X),RotF(X)) = (X | X) | (x|x)
/* RotF(X) - funcție cu un singur loc (un argument, un operand), autor dar îl folosește ca dublu (două argumente, doi operand). */
  • NOT(X) = (RotB(X) | RotF(X) | RotF(RotB(X) | X))
/* Operația binară 2NAND (cursul lui Schaeffer - „|”) nu este posibilă cu operanzii ternari RotB și RotF. Autorul nu a dat o definiție a similitudinii ternare a funcției binare 2I-NOT (streapta Schaeffer - „|”). */

Dubla:

  • X ∨ Y = RotB(X | Y)
/* Înainte de a lua funcția RotB(), trebuie să definim similaritatea ternară funcția binară 2I-NOT (Primul Scheffer). */
  • X ∧ Y = Nu(Nu(X) ∨ Nu(Y))
/* Înainte de a lua funcția binară Not() din rezultatul ternar implicit, dați o definiție a asemănării ternare a funcției binare 2OR-NOT (săgeata lui Pearce) sau definiți similaritatea ternară a funcției binare Not(). */

Este foarte posibil ca elementele logice care implementează funcția Webb să fie cele care vor trebui să joace rolul LA3'ihs ternare (IS SN7400, 4 elemente logice 2I-NOT [32] ). Și eficiența viitoarelor procesoare ternare va depinde de calitatea implementării acestei funcții, de numărul de tranzistori.

/* Într-un sistem ternar cu 3 niveluri de porți ternare (3-Level LevelCodedTernaty, 3L LCT) în timpul tranzițiilor de la starea +1 la starea -1 și invers potențial (tensiune) trece prin starea 0, ceea ce duce inevitabil la false pozitive și scăzute calitatea implementării funcţiilor ternare. Într-un sistem ternar, cu două niveluri, pe trei biți, dintr-o unitate de elemente logice ternare (2-level 3-bit BinaryCodedTernary UnoUnary, 2L 3B BCT UU, 2L 3B BCT, 3B BCT) în fiecare linie individuală, faza este inversată cu ±180° și faza fizică cu +120° și -120° nu, dar toate cele trei stări sunt recunoscute logic și acest sistem poate fi asemănarea logică a sistemului ternar cu rotații de +120° și -120°. Pentru orice tranziție nu există tranziție prin starea a treia, ceea ce îmbunătățește calitatea implementării ternarului funcții.*/

Cu toate acestea, funcția RotB(X ∨ Y) (și posibil, de asemenea, RotF(X ∧ Y), RotB(X ∧ Y) nu este mai rea. Singura întrebare este care dintre ele poate fi implementat cel mai eficient.

/* Pentru a face o asemănare ternară a unei rotații binare de ±180° (Nu(X)), autorul din cinci asemănări ternare ale binarului Not(X) au ales doar o rotație de -120° (RotB()), care este mai asemănător cu o rotație binară de ±180° (Nu) decât schimburile parțiale două valori din trei (Swap), dar o rotație de +120° (RotF()) nu este mai rea decât o rotație de -120° (RotB()), despre care scrie autorul. */

Funcții logice ternare binare (operații, elemente) cu ieșire binară

În total, sunt posibile cele mai simple funcții binare ternare cu o ieșire binară (2Trita-2Trita).

Toate cele 387.420.489 de funcții binare ternare cele mai simple cu o ieșire binară sunt efectuate de ALU într-un sistem de trei biți de o unitate de elemente logice ternare, prezentat în figura din dreapta.

Semisumator ternar cu un termen parțial

Prima etapă a unui sumator ternar complet în trei etape.
Pentru a adăuga o cifră ternară la cifra de transport.
Rezultatul nu se schimbă atunci când operanzii sunt modificați.
În sistemul de codificare asimetric ternar cu notația (-1,0,+1)=(0,1,2):
Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 termen întreg
x 1 =y unu unu unu 0 0 0 termen incomplet
FT1B1N210 10 0 2 unu 2 unu 0 Suma modulo 3
FT1B1N243 10 unu 0 0 0 0 0 Du-te la n+1

Rezultatul operației necesită 1 și 2/3 cifre ternare.

Adunarea binară în sistemul numeric ternar asimetric ( semi-asumator ternar )

Adăugarea binară (cu două argumente, doi operanzi) în sistemul de numere asimetric ternar , adică semiasumator ternar asimetric .

Semi-adunatorul ternar poate fi considerat ca unirea a două funcții ternare binare (cu două argumente, doi operanzi): „adăugarea modulului 3 în sistemul numeric ternar nesimetric” și „bitul de transport în timpul adunării în sistemul ternar nesimetric”. sistem de numere simetric”.
Deoarece la adăugarea într-un sistem ternar asimetric, nu există o valoare mai mare de unu în bitul de transfer, atunci, spre deosebire de funcțiile ternare binare anterioare cu un rezultat pe un singur bit, rezultatul binar al funcției ocupă 1 și 1/3 din cifre ternare.
Rezultatul nu se schimbă atunci când locurile argumentelor sunt modificate.

x0 = x 2 unu 0 2 unu 0 2 unu 0 primul termen
x 1 =y 2 2 2 unu unu unu 0 0 0 al 2-lea termen
FT2N8229 10 unu 0 2 0 2 unu 2 unu 0 Suma modulo 3, asimetrică; x SUMMOD3 y, SUMMOD3(x,y)
FT2N8991 10 unu unu 0 unu 0 0 0 0 0 Se duce la n+1, nesimetric

sau sub formă de matrice

Adunare-scădere binară în sistemul numeric simetric ternar Fibonacci

Jumătate sumator ternar - jumătate scător.

Adunarea-scăderea logică ternară a două cifre ternare cu o cifră de transport în sistemul numeric ternar simetric .

Rezultatul nu se schimbă atunci când operanzii sunt modificați.

Semi-scăderea-semi-adunator ternar poate fi considerat ca uniunea a două funcții ternare binare (cu două argumente, doi operanzi): „bitul cel mai puțin semnificativ al sumei în timpul adunării-scăderii în sistemul numeric simetric ternar” și transportă bit în timpul adunării-scăderii binare (cu două argumente, doi operanzi) în sistemul numeric ternar simetric."

Spre deosebire de adunarea și scăderea în sistemul numeric asimetric ternar, rezultatul funcției are 2 cifre ternare complete (trit), deoarece în timpul adunării-scăderii în sistemul ternar simetric, toate cele trei valori trit sunt în bitul de transport.

În sistemul de codare simetric ternar cu notația (−1, 0, +1) = (i, 0, 1):
Sub forma a două diagrame cu două argumente (doi operanzi, două coordonate):

FT2S-4160 FT2S6560 da ^ ^ | | 0 1 1 0 0 1 - 1 0 1 -> x - 0 0 0 -> x 1 1 0 1 0 0 | |

Sub forma unei diagrame cu doi argumente (doi operanzi, două coordonate):

y ^ | 00 01 1 1 - 0 1 00 01 -> x 1 1 0 1 00 |

Sub forma unui tabel de adevăr:

x0 = x unu 0 i unu 0 i unu 0 i primul termen-reductibil
x 1 =y unu unu unu 0 0 0 i i i al 2-lea termen - subtraend
FT2S-4160 10 i unu 0 unu 0 i 0 i unu Cifra cea mai puțin semnificativă (trit) a unei sume simetrice
FT2S6560 10 unu 0 0 0 0 0 0 0 i Cel mai semnificativ bit (trit) al sumei simetrice, transportul trit la n+1 biți

Sub formă de matrice În sistemul de codare simetric ternar cu notația (-1,0,+1) = (2,0,1): Sub formă de două două argumente (două operanzi, două coordonate) diagrame:



FT2N15613 FT2N6563 da ^ ^ | | 0 1 2 0 0 1 - 2 0 1 -> x - 0 0 0 -> x 1 2 0 2 0 0 | |

Sub forma unei diagrame cu doi argumente (doi operanzi, două coordonate):

y ^ | 00 01 12 - 02 00 01 -> x 21 02 00 |

Sub forma unui tabel de adevăr:

x0 = x unu 0 2 unu 0 2 unu 0 2 Primul termen-scăzut
x 1 =y unu unu unu 0 0 0 2 2 2 al 2-lea termen - subtraend
FT2N15613 10 2 unu 0 unu 0 2 0 2 unu Cifra cea mai puțin semnificativă (trit) a unei sume simetrice
FT2N6563 10 unu 0 0 0 0 0 0 0 2 Cel mai semnificativ bit (trit) al sumei simetrice, transportul trit la n+1 biți

În sistemul de codare asimetric ternar cu notația (-1,0,+1) = (0,1,2):
Sub forma unei diagrame cu două argumente (doi operanzi, două coordonate):

y ^ | 11 12 20 - 10 11 12 -> x 02 10 11 |

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 Primul termen-scăzut
x 1 =y 2 2 2 unu unu unu 0 0 0 al 2-lea termen - subtraend
FT2N5681 10 0 2 unu 2 unu 0 unu 0 2 Cifra cea mai puțin semnificativă (trit) a unei sume simetrice
FT2N16401 10 2 unu unu unu unu unu unu unu 0 Cel mai semnificativ bit (trit) al sumei simetrice, transportul trit la n+1 biți


Ca matrice

Funcții logice binare ternare cu rezultat nonar (ieșire)

În total, există ≈ cele mai simple funcții binare ternare cu un rezultat nonar (ieșire).

Decodor ternar „2 trits în 9 linii”

Rezultatul se schimbă atunci când se schimbă locurile operanzilor.
Poate fi considerată ca unirea a nouă funcții ternare binare cu rezultate unare.

x0 = x 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0
0 0 0 0 0 0 0 0 0 unu
unu 0 0 0 0 0 0 0 unu 0
2 0 0 0 0 0 0 unu 0 0
3 0 0 0 0 0 unu 0 0 0
patru 0 0 0 0 unu 0 0 0 0
5 0 0 0 unu 0 0 0 0 0
6 0 0 unu 0 0 0 0 0 0
7 0 unu 0 0 0 0 0 0 0
opt unu 0 0 0 0 0 0 0 0

Funcții logice binare ternare cu rezultate m-are (ieșiri)

În total, există posibile funcții binare ternare cu o ieșire m-ary, adică un număr infinit.

Aceste funcții includ decodoare binare (pe doi biți) și demultiplexoare cu ieșiri m-ary (m-biți).

Funcții logice ternare trinar (operații, elemente)

Total, posibil, cele mai simple funcții ternare (triary) ternare cu ieșire m-ary. Dintre acest număr, cele mai semnificative sunt astfel de funcții ternare ternare care au propriile nume, cum ar fi ansambluri trinare (cu trei intrări, trei argumente, trei operanzi), adunări complete (cu trei argumente, trei operanzi ) , codificatori , decodoare , multiplexoare , demultiplexoare .

Funcții logice ternare trinar (operații) cu ieșire unară

În total, sunt posibile (7 trilioane 625 miliarde 597 milioane 484 mii 987) cele mai simple funcții ternare (triale) ternare cu o ieșire unară.

Cel puțin

Calculați min(x, y, z)
27 tăieturi
de intrare Rezultatul nu se schimbă atunci când operanzii sunt modificați.

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 Primul argument (operand)
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 Al doilea argument (operand)
x 2 \u003d z 2 2 2 2 2 2 2 2 2 unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 Al treilea argument (operand)
FT3N6 056 723 349 504 10 2 unu 0 unu unu 0 0 0 0 unu unu 0 unu unu 0 0 0 0 0 0 0 0 0 0 0 0 0 rezultat min(x,y,z).
Maxim

Calculați max(x, y, z)
27 tăieturi
de intrare Rezultatul nu se schimbă atunci când operanzii sunt modificați.

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 Primul argument (operand)
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 Al doilea argument (operand)
x 2 \u003d z 2 2 2 2 2 2 2 2 2 unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 Al treilea argument (operand)
FT3N7 625 595 420 672 10 2 2 2 2 2 2 2 2 2 2 2 2 2 unu unu 2 unu unu 2 2 2 2 unu unu 2 unu 0 rezultat max(x,y,z).
Egalitate

Se calculează egalitatea tuturor celor trei operanzi x=y=z; eq20(x, y, z)
Rezultatul nu se schimbă atunci când operanzii sunt schimbati.

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 Primul argument (operand)
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 Al doilea argument (operand)
x 2 \u003d z 2 2 2 2 2 2 2 2 2 unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 Al treilea argument (operand)
FT3N5 083 734 999 040 10 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 rezultatul eq20(x,y,z).
Multiplexor binar „2 în 1” cu oprire

Când z=0, doar primul argument este trecut la ieșire,
când z=1, doar al doilea argument este trecut la ieșire,
când z=2, este oprit și nimic nu este trecut la ieșire.
Într-un sistem de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2).
Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 Primul argument (operand)
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 Al doilea argument (operand)
x 2 \u003d z 2 2 2 2 2 2 2 2 2 unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 Al treilea argument (operand) control
FT3N379 996 224 10 0 0 0 0 0 0 0 0 0 2 2 2 unu unu unu 0 0 0 2 unu 0 2 unu 0 2 unu 0 rezultat MUX(x,y,z)
Multiplexor binar „2 în 1”

O funcție mixtă ternar-binară ale cărei două argumente x și y sunt ternare, iar al treilea z este binar.
Când z=0, doar primul argument este transmis la ieșire,
când z=1, doar al doilea argument este transmis la ieșire.

Într-un sistem de codare asimetric ternar cu notația (-1,0,+1)=(0,1,2).
Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 Primul argument (operand)
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 Al doilea argument (operand)
x 2 \u003d z unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 Al treilea argument (operand) control
FT2B1N379 996 224 10 2 2 2 unu unu unu 0 0 0 2 unu 0 2 unu 0 2 unu 0 rezultat MUX(x,y,z)

Funcția are același număr cu cel precedent, dar al treilea argument este binar, nu ternar. T2 înseamnă că două argumente sunt ternare nesimetrice, iar B1 (Binar) înseamnă că un argument este binar.

Unitatea de transport pentru adăugarea ternară completă în sistemul numeric ternar asimetric

Funcția este mixtă, ternar-binară. Cele două argumente x și y sunt ternare, iar al treilea argument z este binar.
Rezultatul nu se schimbă atunci când operanzii sunt modificați.

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 primul termen
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 al 2-lea termen
x 2 \u003d z unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 Purtare de la ( n  − 1) a-a cifră
FT2B1N193 099 216 10 unu unu unu unu unu 0 unu 0 0 unu unu 0 unu 0 0 0 0 0 Purtați la ( n  + 1) a-a cifră

O funcție cu toate cele trei argumente ternare are același număr, dar T2 înseamnă că două argumente sunt ternare nesimetrice, iar 1B (Binar) înseamnă că un argument este binar.

Suma modulo 3 cu adunare ternară completă în sistemul numeric ternar asimetric

Adunarea ternară completă este o funcție ternară trinară (cu trei argumente, trei operanzi) care ia în considerare unitatea de transport din bitul anterior.
Funcția este mixtă, ternar-binară. Cele două argumente x și y sunt ternare, iar al treilea argument z este binar.
Rezultatul nu se schimbă atunci când operanzii sunt modificați.

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 primul termen
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 al 2-lea termen
x 2 \u003d z unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 Purtare de la ( n  − 1) a-a cifră
FT2B1N307318912 10 2 unu 0 unu 0 2 0 2 unu unu 0 2 0 2 unu 2 unu 0 Suma modulo 3

O funcție cu toate cele trei argumente ternare are același număr, dar T2 înseamnă că două dintre argumente sunt ternare nesimetrice, iar B1 (Binar) înseamnă că un argument este binar.

Funcții logice ternare trinar (operații, elemente) cu un rezultat binar (din două cifre) (ieșire)

În total, este posibilă (58 septilioane 149 sextilioane 737 chintilioane 003 cvadrilioane 040 trilioane 059 miliarde 690 milioane 390 mii 169) cele mai simple funcții ternare trinare (triare) cu o ieșire binară. Dintre acest număr, cele mai semnificative sunt astfel de funcții ternare ternare care au nume proprii, cum ar fi sumatoare , codificatoare , decodificatoare , multiplexoare , demultiplexoare .

Adder ternar Adunarea completă asimetrică ternară în sistemul numeric ternar asimetric

Sumatorul complet ternar cu un singur bit este o funcție booleană ternară. Bitul de transport (trit) are doar două valori 0 și 1 din trei posibile. Spre deosebire de funcțiile ternare anterioare cu un rezultat de un bit, rezultatul are o lungime de 1 și 2/3 cifre ternare.
Rezultatul nu se schimbă atunci când operanzii sunt modificați.

x0 _ 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 primul termen
x 1 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 al 2-lea termen
x2 _ unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 Purtare de la ( n  − 1) a-a cifră
FT2B1N307 318 912 10 2 unu 0 unu 0 2 0 2 unu unu 0 2 0 2 unu 2 unu 0 MZR (trit) de sumă asimetrică, sumă modulo 3
FT2B1N193 099 216 10 unu unu unu unu unu 0 unu 0 0 unu unu 0 unu 0 0 0 0 0 SZR (bit) sumă asimetrică, transportă bit la ( n  + 1)-al-lea bit

Nu există a treia valoare a cifrei ternare (2) în cifra de transport, deoarece în „cel mai rău” caz , adică în cea mai mare cifră „1”. O unitate de transport apare în 9 cazuri din 18. Așa cum în logica binară un sumator binar ternar complet este înlocuit cu două jumătăți binari, la fel în logica ternară un sumator ternar complet poate fi înlocuit cu două jumătăți binari, numai cu diferența că cele două jumătăți de sumare binare sunt la fel, iar două jumătăți de adunare ternare sunt diferite. 1. Un semi-adunator binar complet („adunarea a două cifre ternare complete”). A doua jumătate nu este un binar complet („adăugarea unei cifre ternare complete cu o cifră ternară incompletă (cu 2/3 din cifra ternară completă)”), deoarece nu există valori mai mari decât „1” în bitul de transport. 2. Un binar incomplet „adunarea a 1 cifră ternară cu 2/3 cifră ternară”. Al doilea binar asimetric „adunarea a 1 cifră ternară cu 1 și 2/3 cifre ternare”. Rezultatul este o lungime de doi biți de 1 și 2/3 biți ternari.


Scădere ternar Scăderea logică ternară completă cu împrumut în notație ternară asimetrică

Scăderea completă ternară de 1 bit este o funcție booleană ternară ternară incompletă, deoarece există doar două valori 0 și 1 în bitul de împrumut. Rezultatul este de 1 și 2/3 de biți ternari.
Rezultatul se schimbă atunci când se schimbă locurile operanzilor.

x0 _ 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 descăzut
x 1 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 1 -a subtragere
x2 _ unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 A 2- a subtraend , împrumutați la ( n  − 1)-a cifră
FT2B1N305 269 056 10 2 unu 0 0 2 unu unu 0 2 0 2 unu unu 0 2 2 unu 0 Diferența LSM , diferența modulo 3
FT2B1N188 684 176 10 unu unu unu 0 unu unu 0 0 unu 0 unu unu 0 0 unu 0 0 0 Diferența SZR , împrumut din ( n  + 1) a-a categorie

În categoria împrumutului nu există o a treia valoare a categoriei ternare (2), întrucât în ​​„cel mai rău” caz , adică în categoria senior „1”. O unitate de împrumut apare în 9 cazuri din 18.

Sumator simetric ternar -scător

Spre deosebire de sistemul numeric ternar asimetric, în care sumatorul și scăderea sunt dispozitive diferite, în sistemul numeric ternar simetric (Fibonacci), adunarea și scăderea sunt efectuate de un singur dispozitiv - un sumator-scăzător ternar simetric, format din două funcții ternare.

Sumator-scător simetric ternar

Spre deosebire de adăugarea în sistemul numeric ternar asimetric, la adăugarea în sistemul numeric ternar simetric, toate cele trei valori (-1,0,1) pot fi în bitul de transport, astfel încât numărul de tăieturi crește de la 18 la 27
. rezultatul nu se schimbă atunci când operanzii își schimbă locul.

În sistemul numeric simetric ternar cu semne (i,0,1)=(-1,0,+1).

Sub forma unui tabel de adevăr:

x0 = x unu 0 i unu 0 i unu 0 i unu 0 i unu 0 i unu 0 i unu 0 i unu 0 i unu 0 i Desemnare primul termen
x 1 =y unu unu unu 0 0 0 i i i unu unu unu 0 0 0 i i i unu unu unu 0 0 0 i i i al 2-lea termen
x 2 \u003d z unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 i i i i i i i i i Purtare de la ( n  − 1) a-a cifră
0 i unu i unu 0 unu 0 i i unu 0 unu 0 i 0 i unu unu 0 i 0 i unu i unu 0 FT3S-624603703776 10 (x,y,z) LSM (valoare min. res.) sume
unu unu 0 unu 0 0 0 0 0 unu 0 0 0 0 0 0 0 i 0 0 0 0 0 i 0 i i FT3S3483426737048 10 (x,y,z) Suma WPP, reportată la n+1

transferul (1 sau -1) apare de 8 ori din 27, de patru ori -1 și de patru ori 1.

În sistemul numeric simetric ternar cu semne (2,0,1)=(-1,0,+1).

Sub formă de două cuburi de dimensiunea 3x3x3 (ca un cub Rubik ):
Cub al cifrei celei mai puțin semnificative a sumei, format din trei straturi:

yz = 0 yz = 1 yz = 2 ^ ^ ^ | | | 2 0 1 0 1 2 1 2 0 - 1 2 0 -> x - 2 0 1 -> x - 0 1 2 -> x 0 1 2 1 2 0 2 0 1 | | | FT2N8229 FT2N15613 FT2N5681

și cubul de ordinul cel mai înalt al sumei (transfer), format din trei straturi:

yz = 0 yz = 1 yz = 2 ^ ^ ^ | | | 0 0 2 0 0 0 2 0 2 - 0 1 0 -> x - 1 1 0 -> x - 0 0 0 -> x 0 0 0 0 1 0 0 0 2 | | | FT2N13203 FT2N111 FT2N14598

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 A , primul termen
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 B , al 2-lea termen
x 2 \u003d z 2 2 2 2 2 2 2 2 2 unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 C în , transportă de la ( n  − 1)-a cifră
FT3N2201243090944 10 0 2 unu 2 unu 0 unu 0 2 2 unu 0 unu 0 2 0 2 unu unu 0 2 0 2 unu 2 unu 0 Suma S , LSM (valoarea cea mai mică a rezoluției).
FT3N5655566473615 10 2 0 2 0 0 0 2 0 0 0 0 0 0 unu unu 0 unu 0 2 0 0 0 unu 0 0 0 0 C out , sume SZR, transferate la n+1

В виде двух строк: строки значений младшего
разряда (трита) S суммы :
021210102210102021102021210 или c зада наперёд 012120201120201012201012120 строки значений старшего
разряда (трита) C out суммы (трита переноса ):
202000200000011010200010000 или с зада наперёд 000010002010110000002000202

Одна из множества возможных реализаций табличного троичного симметричного agregator:
în Java :

// Sumatorul-scăzător ternar simetric cu o cifră tabelară (un trit) // în notația (-1,0,+1)=(2,0,1) import java.io.* ; clasa TernaryAdderSubtractor { public static void main ( String [] args ) aruncă java . lang . Excepție { int [][][] S = {{{ 0 , 1 , 2 },{ 1 , 2 , 0 },{ 2 , 0 , 1 }},{{ 1 , 2 , 0 },{ 2 , 0 , 1 },{ 0 , 1 , 2 }},{{ 2 , 0 , 1 },{ 0 , 1 , 2 },{ 1 , 2 , 0 }}}; int [][][] C = {{{ 0 , 0 , 0 },{ 0 , 1 , 0 },{ 0 , 0 , 2 }},{{ 0 , 1 , 0 },{ 1 , 1 , 0 },{ 0 , 0 , 0 }},{{ 0 , 0 , 2 },{ 0 , 0 , 0 },{ 2 , 0 , 2 }}}; int A = 2 ; // (2,0,1)=(-1,0,+1) int B = 2 ; // (2,0,1)=(-1,0,+1) int Cin = 2 ; // (2,0,1)=(-1,0,+1) Sistem . afară . println ( "" + C [ A ][ B ][ Cin ] + S [ A ][ B ][ Cin ] ); } }

în JavaScript :

// Sumator-scăzător ternar simetric cu o singură cifră (un trit) tabelar // în notația (-1,0,+1)=(2,0,1) //importPackage(java.io); importPackage ( java.lang ) ; _ var S = [[ 0 , 1 , 2 ],[ 1 , 2 , 0 ],[ 2 , 0 , 1 ]],[[ 1 , 2 , 0 ],[ 2 , 0 , 1 ],[ 0 , 1 , 2 ]],[[ 2 , 0 , 1 ],[ 0 , 1 , 2 ],[ 1 , 2 , 0 ]]]; var C = [[ 0 , 0 , 0 ],[ 0 , 1 , 0 ],[ 0 , 0 , 2 ]],[[ 0 , 1 , 0 ],[ 1 , 1 , 0 ],[ 0 , 0 , 0 ]],[[ 0 , 0 , 2 ],[ 0 , 0 , 0 ],[ 2 , 0 , 2 ]]]; var A = 2 ; // (2,0,1)=(-1,0,+1) var B = 2 ; // (2,0,1)=(-1,0,+1) var Cin = 2 ; // (2,0,1)=(-1,0,+1) Sistem . afară . println ( C [ A ][ B ][ Cin ]. toString () + S [ A ][ B ][ Cin ]. toString () ); //alertă( C[A][B][Cin].toString() + S[A][B][Cin].toString() ); // Pentru Plunker (plnkr.co/edit)

in python :

"""Superator-scăzător ternar simetric cu o cifră tabelară (un trit) în notația (-1,0,+1)=(2,0,1)""" S = [[[ 0 , 1 , 2 ],[ 1 , 2 , 0 ],[ 2 , 0 , 1 ]],[[ 1 , 2 , 0 ],[ 2 , 0 , 1 ],[ 0 , 1 , 2 ]],[[ 2 , 0 , 1 ], [ 0 , 1 , 2 ],[ 1 , 2 , 0 ]]] C = [[[ 0 , 0 , 0 ],[ 0 , 1 , 0 ],[ 0 , 0 , 2 ]], [[ 0 , 1 , 0 ],[ 1 , 1 , 0 ],[ 0 , 0 , 0 ]],[[ 0 , 0 , 2 ],[ 0 , 0 , 0 ],[ 2 , 0 , 2 ] ]] A = 2 B = 2 Cin = 2 print C [ A ][ B ][ Cin ], S [ A ][ B ][ Cin ]

în C++ :

// Sumator-scăzător ternar simetric cu o singură cifră (un trit) tabelar // în notația (-1,0,+1)=(2,0,1) #include <iostream> folosind namespace std ; void main () { int S [ 3 ][ 3 ][ 3 ] = { 0 , 1 , 2 , 1 , 2 , 0 , 2 , 0 , 1 , 1 , 2 , 0 , 2 , 0 , 1 , 0 , 1 , 2 , 2 , 0 , 1 , 0 , 1 , 2 , 1 , 2 , 0 }; int C [ 3 ][ 3 ][ 3 ] = { 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 2 , 0 , 1 , 0 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 2 , 0 , 2 }; int A = 2 ; // (2,0,1)=(-1,0,+1) int B = 2 ; // (2,0,1)=(-1,0,+1) int Cin = 0 ; // (2,0,1)=(-1,0,+1) cout << C [ A ][ B ][ Cin ] << ' ' << S [ A ][ B ][ Cin ]; }

în C :

// Sumător-scăzător ternar simetric cu o singură cifră (un trit) tabelar // în notația (-1,0,+1)=(2,0,1) #include <stdio.h> void main () { int S [ 3 ][ 3 ][ 3 ] = { 0 , 1 , 2 , 1 , 2 , 0 , 2 , 0 , 1 , 1 , 2 , 0 , 2 , 0 , 1 , 0 , 1 , 2 , 2 , 0 , 1 , 0 , 1 , 2 , 1 , 2 , 0 }; int C [ 3 ][ 3 ][ 3 ] = { 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 2 , 0 , 1 , 0 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 2 , 0 , 2 }; int A = 2 ; // (2,0,1)=(-1,0,+1) int B = 2 ; // (2,0,1)=(-1,0,+1) int Cin = 2 ; // (2,0,1)=(-1,0,+1) printf ( "%i%i" , C [ A ][ B ][ Cin ], S [ A ][ B ][ Cin ]) ; }

in php :

<?php // Sumător-scăzător ternar simetric cu o singură cifră (un trit) // în notația (-1,0,+1)=(2,0,1) $S = [[[ 0 , 1 , 2 ], [ 1 , 2 , 0 ],[ 2 , 0 , 1 ]],[[ 1 , 2 , 0 ],[ 2 , 0 , 1 ],[ 0 , 1 , 2 ]],[[ 2 , 0 , 1 ],[ 0 , 1 , 2 ],[ 1 , 2 , 0 ]]]; $C = [[ 0 , 0 , 0 ],[ 0 , 1 , 0 ],[ 0 , 0 , 2 ]],[[ 0 , 1 , 0 ],[ 1 , 1 , 0 ],[ 0 , 0 , 0 ]],[[ 0 , 0 , 2 ],[ 0 , 0 , 0 ],[ 2 , 0 , 2 ]]]; $A = 2 ; $B = 2 ; $cin = 2 ; echo ( int )( $C [ $A ][ $B ][ $Cin ]); echo ( int )( $S [ $A ][ $B ][ $Cin ]); ?>

(Puteți verifica și modifica codurile programelor Java, JavaScript, Python, C++, C, PHP etc. în multe compilatoare online, de exemplu, în compilatorul online pentru 60 de limbaje de programare la ideone.com [34] . )

pe TB :

' Salvați acest program supermain ca fișier „job.bas” $ include „main%.bas” dacă fn % principal , apoi tipăriți „Lucrare terminată. Fără erori”. Sfârşit ' Salvați acest program principal (funcția main%) ca fișier "main%.bas" ' Un trit ternar simetric sumator-scăzător ' în simbolul sistem (-1,0,+1)=(2,0,1) $ include " tlib.inc" def fn main % dim S % ( 2 , 2 , 2 ) : date 0 , 1 , 2 , 1 , 2 , 0 , 2 , 0 , 1 , 1 , 2 , 0 , 2 , 0 , 1 , 0 , 1 , 2 , 2 , 0 , 1 , 0 , 1 , 2 , 1 , 2 , 0 : _call it3df ( S % ()) dim C % ( 2 , 2 , 2 ) : date 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 2 , 0 , 1 , 0 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 0 , 0 , 0 , 2 , 0 , 2 : _numiți 3df ( C % ( )) A % = 2 ' (2,0,1)=(-1,0,+1) B % = 2 ' (2,0,1)=(-1,0,+1) Cin %= 0 ' (2,0,1)=(-1,0,+1) print C % ( A % , B % , Cin % ) ; "" ; S % ( A % , B % , Cin % ) fn principal % = -1 final def ' Salvați acest sub în fișierul "tlib.inc" sub it3df ( F % ( 3 )) ' InitTernary3DimentionFunction F%() local i % , j % , k % pentru i %= 0 la 2 pentru j %= 0 la 2 pentru k %= 0 la 2 citiți F % ( i % , j % , k % ) următorul k % următorul j % următorul i % final sub

În sistemul numeric simetric ternar cu semne (0,1,2)=(-1,0,+1).

Sub formă de două cuburi de dimensiunea 3x3x3 (ca un cub Rubik ):
Cub al cifrei celei mai puțin semnificative a sumei, format din trei straturi:

yz = 0 yz = 1 yz = 2 ^ ^ ^ | | | 0 1 2 1 2 0 2 0 1 - 2 0 1 -> x - 0 1 2 -> x - 1 2 0 -> x 1 2 0 2 0 1 0 1 2 | | | FT2N15613 FT2N5681 FT2N8229

și cubul de ordinul cel mai înalt al sumei (transfer), format din trei straturi:

yz = 0 yz = 1 yz = 2 ^ ^ ^ | | | 1 1 1 1 1 2 1 2 2 - 0 1 1 -> x - 1 1 1 -> x - 1 1 2 -> x 0 0 1 0 1 1 1 1 1 | | | FT2N9810 FT2N16401 FT2N18832

Sub forma unui tabel de adevăr:

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 A , primul termen
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0 B , al 2-lea termen
x 2 \u003d z 2 2 2 2 2 2 2 2 2 unu unu unu unu unu unu unu unu unu 0 0 0 0 0 0 0 0 0 C în , transportă de la ( n  − 1)-a cifră
FT3N3 188 195 065 856 10 unu 0 2 0 2 unu 2 unu 0 0 2 unu 2 unu 0 unu 0 2 2 unu 0 unu 0 2 0 2 unu Suma S , LSM (valoarea cea mai mică a rezoluției).
FT3N7 296 225 640 448 10 2 2 unu 2 unu unu unu unu unu 2 unu unu unu unu unu unu unu 0 unu unu unu unu unu 0 unu 0 0 C out , sume SZR, transferate la n+1

un zero în bitul de transport apare în 4 cazuri, o unitate în bitul de transport apare în 18 cazuri și un doi în bitul de transport apare în 4 cazuri.

В виде двух строк: строки значений младшего
разряда (трита) S суммы :
102021210021210102210102021 или c зада наперёд 120201012201012120012120201 строки значений старшего
разряда (трита) C out суммы (трита переноса ):
221211111211111110111110100 или с зада наперёд 001011111011111112111112122

Funcții ternare trinar cu ieșire trinară

În total, sunt posibile ≈4,43*10 38 cele mai simple funcții ternare trinar cu ieșire trinară.

Funcții ternare trinar cu ieșire 18-are Decodor ternar „2 și 2/3 trits în 18 linii”

Poate fi considerată ca unirea a 18 funcții ternare (triare) cu rezultate unare (ieșiri).
Rezultatul nu se schimbă atunci când operanzii sunt modificați.

x0 = x 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0 2 unu 0
x 1 =y 2 2 2 unu unu unu 0 0 0 2 2 2 unu unu unu 0 0 0
x 2 \u003d z unu unu unu unu unu unu unu unu unu 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 unu
unu 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 unu 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 unu 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 unu 0 0 0
patru 0 0 0 0 0 0 0 0 0 0 0 0 0 unu 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0 unu 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 unu 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 unu 0 0 0 0 0 0 0
opt 0 0 0 0 0 0 0 0 0 unu 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 unu 0 0 0 0 0 0 0 0 0
zece 0 0 0 0 0 0 0 unu 0 0 0 0 0 0 0 0 0 0
unsprezece 0 0 0 0 0 0 unu 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 unu 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 unu 0 0 0 0 0 0 0 0 0 0 0 0 0
paisprezece 0 0 0 unu 0 0 0 0 0 0 0 0 0 0 0 0 0 0
cincisprezece 0 0 unu 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 unu 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17 unu 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Funcții ternare trinar cu ieșire heptacozară (27-ary) Decodor ternar „3 trits în 27 de linii”

Poate fi considerată ca uniunea a 27 de funcții ternare (triare) cu rezultate unare (ieșiri).

Funcții logice tetraternare (operații, elemente) cu rezultat m-ary

Doar cele mai simple funcții tetrar ternare posibile cu ieșire m-ary.

Funcții logice tetraternare (operații, elemente) cu rezultat unar

Total, posibil cele mai simple funcții tetrar ternare cu ieșire unară.

Multiplexor trinar Trinity (cu trei intrări)

Are patru intrări:
1. primul număr ternar
2. al doilea număr ternar
3. al treilea număr ternar
4. semnal de comutare ternar 3 intrări
și o ieșire:
1. număr ternar selectat

În codificarea asimetrică ternară cu notația (−1, 0, +1) = (0, 1, 2):
Tabelul de adevăr:

x0 = x X X X Primul argument (operand)
x 1 =y y y y Al doilea argument (operand)
x 2 \u003d z z z z Al treilea argument (operand)
x 3 =u 2 unu 0 Controlul al 4-lea argument (operand).
FT4NMUX(x,y,z,u) z y X rezultatul acțiunii funcției tetrad ternare MUX(x, y, z, u)

O posibilă implementare a unui multiplexor ternar, care este o funcție ternară, numai prin intermediul funcțiilor ternare și al operatorilor ternari:

FT4NMUX(x, y, z, u) = FT2N21(x, u) FT2N19569 FT2N567(y, u) FT2N19569 FT2N15309(z, u) = = FT2N21(x, u) FT2Nmax FT2N567(y, u) FT2Nmax FT2N15309(z, u) = = FT2Nmax(FT2Nmax(FT2N21(x, y),FT2N567(y, x)),FT2N15309(z, u))

Aici funcțiile ternare binare (cu două argumente) FT2N21(x, u), FT2N567(y, u) și FT2N15309(z, u) sunt utilizate în notația de prefix pentru a selecta primul, al doilea sau al treilea operand și binare (cu două argumente). ) funcția ternară FT2N19569 (FT2Nmax ) în prima și a doua linie este utilizată ca operator binar (cu doi operanzi) cu o notație infixă pe linie, iar în a treia linie ca funcție ternară binară (cu două argumente) cu un prefix notație pe linie pentru a procesa cele trei rezultate anterioare, cum ar fi operatorul binar și funcția OR2 (2OR) în logica binară. În același timp, funcțiile din prima și a doua linie au o prioritate mai mare în linie, adică sunt executate pe rând primele, iar operatorii din prima și a doua linie au o prioritate mai mică decât cele binare (cu două argumente). ) funcții, adică sunt executate pe rând a doua după funcțiile de execuție. A treia linie este formată doar din funcții imbricate, deci funcțiile sunt executate pe rând, începând cu funcția cu cea mai profundă imbricare.

Funcții logice ternare N-are

Funcții logice ternare N-are

Total, posibil, cele mai simple funcții ternare n-are.

Aceste funcții includ scramblere n-ari și multiplexoare n-ari .


Vezi și

Note

  1. Flip-flops Trinity într-un sistem pe trei biți de elemente logice ternare 3B BCT (3-Bit BinaryCodedTrinary, „three-wire”) . Preluat la 29 septembrie 2016. Arhivat din original la 21 noiembrie 2015.
  2. Flip-flops Trinity într-un sistem cu trei niveluri de elemente logice ternare 3L CT (3-Level CodedTrinary, „single-wire”) . Preluat la 29 septembrie 2016. Arhivat din original la 21 noiembrie 2015.
  3. Depman I. Ya. Apariția unui sistem de măsuri și metode de măsurare a cantităților. Numărul 1. (1956) Capitolul VIII. Problema lui D. I. Mendeleev despre cel mai bun sistem de greutăți. § Toate numerele sistemului ternar pot fi scrise folosind două cifre: 0 sau 1. P. 113.
  4. Operații unare. Tabelul 4: Rotiți în sus https://web.archive.org/web/20080622120236/http://www.trinary.cc/Tutorial/Algebra/Unary.htm
  5. 1 2 3 4 http://jeff.tk:81/wiki/Trinary/Logic Arhivat 12 mai 2010 la Wayback Machine A.3.1. Funcții constante. Tabelul A.3. Funcții constante și A.3.2. Funcții unu-la-unu. Tabelul A.4. Funcții unu-la-unu
  6. Operații unare. Tabelul 7: Schimbați în jos https://web.archive.org/web/20080622120236/http://www.trinary.cc/Tutorial/Algebra/Unary.htm
  7. Operații unare. Tabelul 5: Rotiți în jos https://web.archive.org/web/20080622120236/http://www.trinary.cc/Tutorial/Algebra/Unary.htm
  8. Operații unare. Tabelul 6: Schimbați în sus https://web.archive.org/web/20080622120236/http://www.trinary.cc/Tutorial/Algebra/Unary.htm
  9. 1 2 3 http://andserkul.narod2.ru/troichnie_alu/ Arhivat 4 septembrie 2012 la Wayback Machine A. S. Kulikov. ALU ternar
  10. https://web.archive.org/web/20080611055612/http://www.trinary.cc/ Arhivă web. Site-ul web al Steve Grubb Trinary.cc
  11. Materiale despre informatica ternară. Implementarea hardware. Maslov S. P. Circuite ternare . Preluat la 2 martie 2017. Arhivat din original la 23 ianuarie 2015.
  12. Operații unare. Inversați https://web.archive.org/web/20080622120236/http://www.trinary.cc/Tutorial/Algebra/Unary.htm
  13. Circuite. Familii logice. Ternar. Complement (F210) . Data accesului: 16 mai 2011. Arhivat din original la 24 februarie 2011.
  14. Circuite. Familii logice. Ternar. F220 . Data accesului: 16 mai 2011. Arhivat din original la 24 februarie 2011.
  15. Circuite. Familii logice. Ternar. F211 . Data accesului: 16 mai 2011. Arhivat din original la 24 februarie 2011.
  16. Circuite. Familii logice. Ternar. F221 . Data accesului: 16 mai 2011. Arhivat din original la 24 februarie 2011.
  17. 1 2 http://jeff.tk:81/wiki/Trinary/Logic Arhivat 12 mai 2010 la Wayback Machine A.3.2. Funcții unu-la-unu. Tabelul A.4. Funcții unu-la-unu
  18. Flip-flops ternare pe trei biți . Preluat la 29 septembrie 2016. Arhivat din original la 21 noiembrie 2015.
  19. Circuit. Familii logice. Ternar. CGOR . Data accesului: 16 mai 2011. Arhivat din original la 24 februarie 2011.
  20. Funcție binară. Tabelul 11: Funcția medie https://web.archive.org/web/20080623205822/http://www.trinary.cc/Tutorial/Algebra/Binary.htm
  21. Funcții binare. Înseamnă https://web.archive.org/web/20080623205822/http://www.trinary.cc/Tutorial/Algebra/Binary.htm
  22. Circuit. Familii logice. Ternar. CGAND . Data accesului: 16 mai 2011. Arhivat din original la 24 februarie 2011.
  23. 1 2 3 Funcții binare. Tabelul 12: Funcția de mărime https://web.archive.org/web/20080623205822/http://www.trinary.cc/Tutorial/Algebra/Binary.htm
  24. [Operații binare. Tabelul 8: Funcția Min (A↓B) https://web.archive.org/web/20080623205822/http://www.trinary.cc/Tutorial/Algebra/Binary.htm ]
  25. [Operații binare. Min https://web.archive.org/web/20080623205822/http://www.trinary.cc/Tutorial/Algebra/Binary.htm ]
  26. [Operații binare. Tabelul 9: Funcția maximă (A↑B) https://web.archive.org/web/20080623205822/http://www.trinary.cc/Tutorial/Algebra/Binary.htm ]
  27. [Operații binare. Max https://web.archive.org/web/20080623205822/http://www.trinary.cc/Tutorial/Algebra/Binary.htm ]
  28. Anatoly Medyntsev. Funcționare ternară reversibilă (downlink) . Preluat la 6 februarie 2012. Arhivat din original la 25 iunie 2012. 
  29. http://www.pcmag.ru/solutions/sub_detail.php?ID=1985&SUB_PAGE=4 Judecarea și calculul: neexcluzând a treia. Alexandru Ryabtsev. Implicația Lukasiewicz
  30. http://society.polbu.ru/tvardovsky_lvovwarsawphilo/ch43_i.html Arhivat 15 iulie 2014 la Wayback Machine K. Tvardovsky. Școala filozofică Lvov-Varșovia. Studii istorice ale logicii de J. Lukasevici
  31. Logica cu trei valori. 4. Informații despre logica cu trei valori . Data accesului: 22 octombrie 2016. Arhivat din original pe 22 octombrie 2016.
  32. http://www.inp.nsk.su/~kozak/ttl/ttlh01.htm Arhivat 11 iunie 2013 la Wayback Machine Un ghid pentru circuitele integrate digitale TTL standard
  33. 1 2 3 4 5 http://andserkul.narod2.ru/troichnie_summatori/ Copie de arhivă din 4 septembrie 2012 la Wayback Machine A. S. Kulikov. Additori ternari
  34. Compilator online pentru 60 de limbaje de programare . Consultat la 11 decembrie 2016. Arhivat din original la 19 noiembrie 2013.

Literatură

  • DC Rine (ed.), Computer Science and Multiple-Valued Logic. Teorie și aplicații. Elsevier, 1977, 548p. ISBN 978-0-7204-0406-7