Ternärt nummersystem

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 7 januari 2019; verifiering kräver 21 redigeringar .
Talsystem i kulturen
indo-arabiska
Arabiska
tamilska
burmesiska
Khmer
Lao
Mongoliska
Thai
Öst asiat
kinesiska
japanska
Suzhou
koreanska
Vietnamesiska
räknepinnar
Alfabetisk
Abjadia
Armeniska
Aryabhata
kyrilliska
grekiska
georgiska
etiopiska
judiska
Akshara Sankhya
Övrig
Babyloniska
egyptiska
etruskiska
romerska
Donau
Attic
Kipu
Mayan
Egeiska
KPPU-symboler
positionella
2 , 3 , 4 , 5 , 6 , 8 , 10 , 12 , 16 , 20 , 60
Nega-positionell
symmetrisk
blandade system
Fibonacci
icke-positionell
Singular (unär)

Det ternära talsystemet  är ett positionstalssystem med en heltalsbas lika med 3.

Finns i två versioner: asymmetrisk och symmetrisk.

Ternära siffror

I det asymmetriska ternära talsystemet används talen {0,1,2} oftare och i det ternära symmetriska talsystemet tecknen {−,0,+}, {−1,0,+1}, { 1 ,0,1}, { 1 ,0,1}, {i,0,1}, {N,O,P}, {N,Z,P} och siffrorna {2,0,1}, {7 ,0,1} . Utskrifterna från Setun -datorn använde kodningen {ett,0,1} [1] . Treenighetssiffror kan betecknas med valfria tre tecken {A,B,C}, men du måste dessutom ange prioritet för tecken, till exempel A<B<C.

Fysiska implementeringar

Inom digital elektronik , oavsett variant av det ternära nummersystemet, motsvarar en ternär siffra i det ternära nummersystemet en ternär trigger på minst tre växelriktare med ingångslogik eller två binära triggers på minst fyra växelriktare med ingångslogik.

Representation av nummer i ternära nummersystem

Asymmetriskt ternärt talsystem

Ett exempel på representation av tal i ett asymmetriskt ternärt talsystem är posten i detta system av positiva heltal:

Decimal nummer 0 ett 2 3 fyra 5 6 7 åtta 9 tio
ternärt nummer 0 ett 2 tio elva 12 tjugo 21 22 100 101

Om det finns 10 siffror i decimaltalsystemet och vikten av intilliggande siffror skiljer sig med 10 gånger (etttal, tiotal, hundratal), används i det ternära systemet endast tre siffror och vikten av intilliggande siffror skiljer sig tre gånger (etorsiffra, tresiffra, siffra på nio, ...). Siffran 1, skriven först till vänster om kommatecken, betecknar en enhet; samma nummer, skrivet näst till vänster om kommatecken, anger en trippel osv.

Det asymmetriska ternära talsystemet är ett specialfall av parade (kombinerade) exponentiella positionstalssystem, där a k  är från den ternära mängden a={0,1,2}, b=3, siffrornas vikter är 3 k .

Exponentiella siffersystem

I exponentiella positionella ternära talsystem används två system:

  1. intrasiffrigt kodsystem med bas c , vars nummer används för att skriva siffror och
  2. tillskrivet mellansiffrigt talsystem med bas b .

Ett heltal i det exponentiella positionsnummersystemet representeras som summan av produkterna av värden i siffror (siffror) - med den k -: te potensen av talet b :

, var:
  • k  är ett tal från 0 till n-1 , numret på den numeriska siffran ,
  • n  är antalet siffror,
  • c  är basen för kodningssystemet, c är lika med dimensionen av mängden a={0,1,...,c-1} från vilken siffrorna a k är hämtade ,
  • a k  är heltal från mängden a , kallade siffror,
  • b  är talet, grunden för den intersiffriga exponentiella viktfunktionen,
  • b k  är siffrorna för intersifferfunktionen, viktkoefficienterna för siffrorna.

Varje produkt i en sådan notation kallas en (a, b)-är siffra.

Med c=b , (b, b) bildas -ära talsystem med produkten - a k b k och summan - , som med b = 3 förvandlas till det vanliga (3,3) -ary (ternära) nummersystem. Vid skrivning utelämnas ofta det första indexet, ibland, när det finns ett omnämnande i texten, utelämnas även det andra indexet.

Viktningsfaktorn för siffran - b k  - tillskrivs och kan i det allmänna fallet vara en valfri exponentiell funktion av siffran - k , och eventuellt en potens av 3 . Uppsättningen av värden a k är mer begränsad och mer relaterad till hårdvarudelen - antalet stabila tillstånd av triggers eller antalet tillstånd för en grupp av triggers i en bit av registret . I det allmänna fallet kan en k också valfritt komma från den ternära mängden a={0,1,2}, men för att ett parat system ska vara ternärt och kallas ternärt måste minst ett av de två systemen vara ternärt. en k -th närmare hårdvaran och med en k -th från mängden a={0,1,2} eller från mängden a={-1,0,+1}, bestäms kodningssystemet: asymmetrisk ternär eller symmetrisk ternär.

Exponentiella ternära talsystem

Ett heltal i det exponentiella positionella ternära systemet skrivs som en sekvens av dess siffror (strängar av siffror), listade från vänster till höger i fallande ordningsföljd av siffror:

I exponentiella talsystem tilldelas siffrornas värden viktkoefficienter , de utelämnas i notationen, men det är underförstått att den k -te siffran från höger till vänster har en viktkoefficient lika med .

Det är känt från kombinatorik att antalet inspelade koder är lika med antalet placeringar med upprepningar :

där a = 3 är en 3-elementsmängd a = {0, 1, 2}, från vilken siffrorna a k är hämtade , n  är antalet element (siffror) i talet x 3, b .

Antalet inspelade koder beror inte på basen av exponentialfunktionen  - b , som bestämmer intervallet av värden som representeras av siffrorna x 3, b .

Ett bråktal skrivs och representeras som

där m  är antalet siffror i bråkdelen av talet till höger om decimalkomma;

  • för m = 0 saknas bråkdelen, talet är ett heltal,
  • för a k , från den ternära mängden a = {0, 1, 2} och b = 1, bildas ett icke-positionellt ternärt talsystem med samma viktkoefficienter för alla siffror lika med 1 k = 1,
  • för a k från den binära mängden a = {0, 1} och b = 3 blir summan endast heltalspotenser — 3 k ,
  • för a k från den ternära mängden a = {0, 1, 2} och b = 3, blir summan heltal och dubbla potenser av 3, talsystemet blir det vanliga asymmetriska ternära talsystemet, a k uppfyller olikheten , att är , ,
  • för a k från decimalmängden a = {0, 1, ..., 9} och b = 3, blir summan heltalspotenser av 3 gånger 1, 2, ..., 9.

I vissa fall kanske detta inte räcker, i sådana fall kan inbyggda (kommenterade), quad och andra nummersystem användas.

Ternära talsystem med en extra faktor

I exponentiella positionella ternära talsystem kan ytterligare en faktor införas i siffrans vikt. Till exempel faktorn (b/c):

I allmänhet, c≠3.
När a k från a={0,1,2}, b=3 och c=3, bildas det vanliga asymmetriska ternära talsystemet.
Med a=2, b=3 och c=2 bildas ett (2,3,2)-ärt talsystem med en ytterligare icke-heltals viktkoefficient i produkten lika med (3/c)=(3/2 )=1,5.
För andra värden på a, b och c bildas andra exponentiella positionstalssystem med en extra faktor (b/c), vars antal är oändligt.
Oändliga uppsättningar av andra sammansatta talsystem är också möjliga.

Kodning av ternära siffror

En ternär siffra kan kodas på olika sätt.

Trenivåkodningssystem för ternära siffror

1. Trenivåkodning av ternära siffror (3-Level LevelCoded Ternary, 3L LCT, "single-wire"):
Antalet trenivåkodningssystem för ternära siffror är lika med antalet permutationer :

en av dem

1.1. Symmetrisk {-1,0,+1}
+U - (+1) ;
0 - (0);
-U - (-1),
1,2. Ändrad med +1 {0,1,2}
1.3. Skiftade med +2 {1,2,3}

Tvånivåkodningssystem för ternära siffror

2. Tvåbitars binärkodade ternära siffror (2-bitars BinaryCodedTernary, 2B BCT-representation, "två-trådar") med 3 koder av 4 möjliga [2] :
Antalet möjliga 2B BCT ternära siffror är lika med antalet kombinationer utan upprepning :

multiplicerat med antalet permutationer i varje uppsättning av 3 siffror: dvs 4*6 = 24.

Här är några av dem:
2.1. [3]
(1,0)-2;
(0,1)-1;
(0,0) - 0.
2.2.
(1,1)-2;
(0,1)-1;
(0,0) - 0.
3. Tvåbitars binärkodade ternära siffror (2-bitars BinaryCodedTernary, 2B BCT-representation, "två-trådar") med alla 4 koder av 4 möjliga (två av de 4 koderna kodar en och snävare ternär siffra från 3).
3.1.
Här är en av dem [4] :
(0.0) - "0"
(1.1) - "0"
(0.1) - "-1"
(1.0) - "+1"
4. Trebitars binärkodad ternär siffror (3-Bit BinaryCodedTernary, 3B BCT-representation, "tre-wire") med 3 koder av 8 möjliga:
Antalet möjliga 3B BCT ternära siffror är lika med antalet kombinationer utan upprepning :

multiplicerat med antalet permutationer i varje uppsättning av 3 siffror: dvs 54*6 = 324.

Här är några av dem:
3.1.
(1,0,0) - 2;
(0,1,0) - 1;
(0,0,1) - 0.
3.2.
(0,1,1)-2;
(1,0,1) - 1;
(0,1,0) - 0.
3.3.
(1,1,1)-2;
(0,1,1)-1;
(0,0,1) - 0.
3.4.
(0,0,0) - 2;
(1,0,0) - 1;
(1,1,0) - 0.
3,5.
(1,0,0) - 2;
(1,1,0) - 1;
(1,1,1) - 0.
3.6.
(0,1,1)-2;
(0,0,1) - 1;
(0,0,0) - 0.
3.7.
(1,0,1) - 2;
(0,1,0) - 1;
(0,0,0) - 0
osv.

Jämförelse med det binära systemet

I bitvis jämförelse är det ternära talsystemet mer rymligt än det binära talsystemet.
Med nio siffror har den binära koden kapaciteten av tal, och den ternära koden har kapaciteten för numret, det vill säga dubbelt så mycket. Med tjugosju siffror har den binära koden kapaciteten av tal, och den ternära koden har kapaciteten för siffror, det vill säga den är gånger större.

Egenskaper

Det ternära positionsexponentiella asymmetriska talsystemet i termer av antalet tecken (i ett tresiffrigt decimaltal 3 * 10 = 30 tecken) är det mest ekonomiska av de positionella exponentiella asymmetriska talsystemen. [5] [6] [7] [8] [9] A. Kushnerov [6] tillskriver detta teorem till John von Neumann .

Konvertera heltal från decimal till ternär

För översättning delas ett decimalt heltal med 3 med en rest (heltalsdivision) så länge som kvoten är större än noll. Resten, skrivna från vänster till höger från sist till första, är den icke-symmetriska ternära ekvivalenten för hela decimaltalet. [10] [11]
Exempel: decimalt heltal 48 10,10 kommer att omvandlas till asymmetriskt ternärt heltal:
tal = 48 10,10 dividerat med 3, kvot = 16, resten a 0 = 0
kvot = 16 10,10 dividerat med 3, resterande = 5, kvot = 5 a 1 = 1
kvot = 5 10,10 dividerat med 3, kvot = 1, resterande a 2 = 2
kvot = 1 10,10 dividerat med 3, kvot = 0, resterande a 3 = 1
kvot inte större än noll, divisionen är klar.
Nu, när vi skriver alla rester från den sista till den första från vänster till höger, får vi resultatet 48 10.10 \u003d (a 3 a 2 a 1 a 0 ) 3.3 \u003d 1210 3.3 .

Symmetriskt ternärt talsystem

Det positionella heltals symmetriska ternära talsystemet föreslogs av den italienske matematikern Fibonacci (Leonardo av Pisa) (1170-1250) för att lösa "viktproblemet". [12] Problemet med det bästa viktsystemet ansågs av Luca Pacioli (XV-talet). Ett specialfall av detta problem publicerades i boken av den franske matematikern Claude Bachet de Meziriac "Collection of Entertaining Problems" 1612 (den ryska översättningen av boken av C. G. Bachet "Spel och problem baserade på matematik" publicerades i St. Petersburg först 1877). År 1797 utfärdades en lag i Ryssland "om fastställande av korrekta vikter för drycker och brödmått överallt i det ryska imperiet." För vägning av gods tillåts endast vikter av följande vikter: 1 och 2 pund, 1, 3, 9, 27 pund och 1, 3, 9, 27 och 81 spolar . Som en bilaga till lagen publicerades en tabell för vägning av varor från 1 pund till 40 pund med vikter av 1, 3, 9, 27 pund och för vägning av varor från 1 spole till 96 spolar med vikter på 1, 3, 9, 27 och 81 spolar [13] . S:t Petersburg-akademikern Leonard Euler var engagerad i detta problem , och senare var D. I. Mendeleev intresserad . [14] [15] [16] [17] [18]

Symmetri vid vägning på en spakvåg har använts sedan urminnes tider, vilket ger en vikt till en skål med varor. Elementen i det ternära talsystemet fanns i de gamla sumerernas talsystem, [19] i systemen av mått, vikter och pengar, i vilka det fanns enheter lika med 3. Men bara i det symmetriska ternära Fibonacci-talsystemet båda dessa egenskaper kombineras.

Det symmetriska systemet låter dig representera negativa tal utan att använda ett separat minustecken. Siffran 2 representeras av siffran 1 i stället för treor och siffran (minus en) i stället för enheter. Talet −2 representeras av talet (minus ett) i stället för treor och talet 1 i stället för enheter. Det finns sex möjliga överensstämmelse mellan siffrorna (tecken) i det ternära symmetriska talsystemet och siffrorna (tecken) i det ternära asymmetriska talsystemet:

ett. 2. 3. fyra. 5. 6.
ett 2 ett 0 0 2 ett
0 ett 0 2 ett 0 2
ett 0 2 ett 2 ett 0

Enligt 2. lagras de numeriska värdena 0 och 1.

Decimalsystem −9 −8 −7 −6 −5 −4 −3 −2 −1 0 ett 2 3 fyra 5 6 7 åtta 9
Ternär asymmetrisk −100 −22 −21 −20 −12 −11 −10 −2 −1 0 ett 2 tio elva 12 tjugo 21 22 100
Ternär symmetrisk 100 _ 101 _ 1 1 1 1 10 1 11 elva 10 _ 1 1 ett 0 ett 1 1 tio elva 1 11 1 1 0 1 1 1 10 1 100

I det ternära symmetriska talsystemet kan tecknet 1 ersättas med tecknet (inte siffran) i eller 2 och i det andra fallet kan tecknen för det ternära asymmetriska systemet {2,0,1} användas för ternärt symmetriskt talsystem {-1,0,+1}.

Egenskaper

På grund av det faktum att basen 3 är udda, i det ternära systemet, är ett arrangemang av tal symmetriska med avseende på noll möjligt: ​​−1, 0, 1, vilket är associerat med sex värdefulla egenskaper:

  • Naturligheten i representationen av negativa tal;
  • Inga avrundningsproblem : nollställer onödiga avrundningar med lägre siffror -  för talet närmare närmaste "grova".
  • Multiplikationstabellen i detta system, som noterats av O. L. Cauchy , är ungefär fyra gånger kortare. [14] (s. 34).
  • För att ändra tecknet för det representerade talet måste du ändra siffrorna som inte är noll till symmetriska.
  • När man summerar ett stort antal tal, växer värdet för överföring till nästa siffra med en ökning av antalet termer inte linjärt utan i proportion till kvadratroten av antalet termer.
  • Enligt kostnaden för antalet tecken för representation av siffror är det lika med det ternära asymmetriska systemet.

Representation av negativa tal

Med positiva och negativa siffror kan både positiva och negativa tal representeras direkt. I det här fallet finns det inget behov av en speciell teckenbit och ingen ytterligare (eller invers) kod måste anges för att utföra aritmetiska operationer med negativa tal. Alla åtgärder på siffror som representeras i det ternära symmetriska talsystemet utförs naturligtvis med hänsyn till siffrornas tecken. Tecknet för ett tal bestäms av tecknet för den mest signifikanta siffran i talet: om det är positivt är talet positivt, om det är negativt är talet negativt. För att ändra tecknet för ett tal måste du ändra tecknen för alla dess siffror (det vill säga invertera dess kod genom Lukasiewiczs inversion). Till exempel:


Avrundning

En annan användbar konsekvens av det symmetriska arrangemanget av siffervärden är frånvaron av problemet med avrundning av siffror: det absoluta värdet av den del av talet som representeras av de kasserade lägre siffrorna överstiger aldrig hälften av det absoluta värdet av den del av talet som motsvarar till den minst signifikanta siffran av den minst signifikanta siffran av de lagrade siffrorna. Därför, som ett resultat av att de mindre siffrorna i ett tal kasseras, erhålls den bästa approximationen av detta nummer för ett givet antal återstående siffror, och avrundning krävs inte.

Konvertera tal från decimal till ternär

Omvandlingen av tal från decimalsystemet till det ternära systemet och motsvarande fråga om vikter beskrivs i detalj i böckerna [20] [21] . Den berättar också om användningen av det ternära viktsystemet i rysk praktik.

Översättning till andra nummersystem

Alla tal som skrivs i det ternära talsystemet med talen 0, 1, −1 kan representeras som summan av heltalspotenserna för talet 3, och om talet 1 är i den givna biten av den ternära representationen av talet, då potensen av talet 3 som motsvarar denna bit ingår i summan med tecknet "+", om talet är −1, då med tecknet "-", och om talet är 0, så ingår det inte alls . Detta kan representeras av formeln

, var  - heltalsdelen av talet,



 - bråkdel av ett tal

dessutom kan koefficienterna K ta värdena { 1, 0, −1 }.

För att talet som presenteras i det ternära systemet ska konverteras till decimalsystemet, är det nödvändigt att multiplicera siffran för varje siffra i det givna talet med potensen av siffran 3 som motsvarar denna siffra (i decimalrepresentation) och addera de resulterande produkterna.

Praktiska applikationer

  • I arbetet i kammaren för vikter och mått utvecklade D. I. Mendeleev, med hänsyn till det symmetriska ternära talsystemet, en digital serie av viktvikter för vägning på laboratorievågar , som används till denna dag.
  • Det symmetriska ternära systemet användes i den sovjetiska datorn Setun .

Additionstabeller i ternära talsystem

I det ternära icke-symmetriska talsystemet

2 02 tio elva
ett 01 02 tio
0 00 01 02
+ 0 ett 2

I det ternära symmetriska talsystemet

ett 00 01 1 1
0 0 1 00 01
ett 1 1 0 1 00
+ ett 0 ett

Nio decimal representation av kommandon

Representationen av kommandon i ternär kod vid programmering och när man går in i en maskin är obekväm och oekonomisk, därför används den nio decimala formen av kommandorepresentation utanför maskinen. Nio siffror mappas till par av ternära siffror:

Vid uttag från maskinen betecknas negativa decimalsiffror med bokstäver:

decimalsiffra
Bokstaven i det latinska alfabetet Z Y X W
Bokstaven i det ryska alfabetet C X OCH

Se även

Anteckningar

  1. N. A. Krinitsky, G. A. Mironov, G. D. Frolov, red. M.R. Shura-Bura. Kapitel 10. Programstyrd maskin "Setun" // Programmering . - M. , 1963.
  2. http://314159.ru/kushnerov/kushnerov1.pdf Arkivexemplar daterad 7 oktober 2013 på Wayback Machine Ternary digital teknologi. Retrospektiv och närvarande
  3. BCT: Binärt kodad ternär . Hämtad 30 september 2012. Arkiverad från originalet 21 januari 2022.
  4. Trinari. Forum. Hårdvarudel. Huggorm. Block 003 (otillgänglig länk) . Hämtad 29 september 2012. Arkiverad från originalet 30 mars 2022. 
  5. S. V. Fomin . Nummersystem . — M .: Nauka , 1987. — 48 sid. - ( Populära föreläsningar om matematik ). Arkiverad 16 oktober 2004 på Wayback Machine ( alternativ länk Arkiverad 2 juni 2013 på Wayback Machine )
  6. 1 2 A. Kushnerov Ternär digital teknologi. Retrospektiv och närvarande. Arkiverad 7 oktober 2013 på Wayback Machine
  7. https://web.archive.org/web/20120111141145/http://misterkruger.narod.ru/math/base3rus.htm En fantastisk egenskap hos det ternära talsystemet]
  8. Ekonomi av talsystem med en exponentiell viktfunktion . Hämtad 22 januari 2019. Arkiverad från originalet 29 oktober 2018.
  9. O. A. Akulov, N. V. Medvedev. Informatik och datateknik. 4:e uppl. - M .: Omega-L, 2007. (Avsnitt I, kap.3.3)
  10. Konvertering av decimala heltal till ternära icke-symmetriska heltal . Hämtad 22 januari 2019. Arkiverad från originalet 22 januari 2019.
  11. http://algolist.manual.ru/maths/teornum/count_sys.php Arkiverad 31 mars 2022 på Wayback Machine Överför från ett system med mer anledning till ett system med mindre
  12. "Trenity-principen" av Nikolai Brusentsov Arkivexemplar av 11 juni 2008 på Wayback Machine .
  13. Depman I. Ya. Framväxten av ett system av mått och metoder för att mäta kvantiteter. Nummer 1. (Moskva: State Educational and Pedagogical Publishing House vid RSFSR:s utbildningsministerium (Uchpedgiz), 1956. - Serien "Skolbarnsbibliotek"). Kapitel VIII. § Använda det mest bekväma systemet med vikter i Ryssland. Sida 118
  14. 1 2 S. B. Gashkov. § 11. D. I. Mendeleev och det ternära systemet // Nummersystem och deras tillämpningar . - M .: MTSNMO , 2004. - ( Biblioteket "Mathematical Education" ). Arkiverad 12 januari 2014 på Wayback Machine Arkiverad kopia (länk ej tillgänglig) . Hämtad 18 oktober 2009. Arkiverad från originalet 12 januari 2014.   I Google Chrome, efter att ha klickat på PDF(333Kb), måste du flytta en av sidorna av webbläsarramen.
  15. I. Ya. Depman. Aritmetikens historia. En guide för lärare. Andra upplagan, korrigerad. Förlag "Enlightenment", Moskva, 1965. Kapitel I. Naturligt nummer. 7. Basche-Mendeleev-problemet, s.36.
  16. E. S. Davydov, De minsta grupperna av tal för bildandet av naturliga serier, St. Petersburg, 1903, 36 sid.
  17. V.F. Gartz, Det bästa systemet för viktvikter, St. Petersburg, 1910, 36 sid.
  18. F. A. Sludsky, Om egenskaperna hos två- och trepotenser. "Matematisk samling", del III, s. 214.
  19. Yuri Revich "Heirs of Babbage" // "Hemdator", nr 12, 1 december 2002.
  20. I. Ya. Depman. "Measures and the metric system", Uchpedgiz, 1955.
  21. I. Ya. Depman. "Uppkomsten av ett system av mått och metoder för att mäta kvantiteter", vol. 1, Uchpedgiz, 1956.

Litteratur