Positionsnummersystem

Positionsnummersystem ( positionell, lokal numrering ) är ett talsystem där värdet av varje numeriskt tecken ( siffra ) i en nummerinmatning beror på dess position ( siffra ) i förhållande till decimalavgränsaren . Positionssystem, i jämförelse med andra, gör det möjligt att avsevärt förenkla algoritmerna för att utföra aritmetiska operationer och påskynda beräkningar. Deras skapande och distribution spelade en stor roll i utvecklingen av de exakta vetenskaperna - matematik , astronomi och fysik .

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)

Historik

Historiskt sett tillskrivs den första uppfinningen av positionsnumrering baserad på den lokala betydelsen av siffror till sumererna och babylonierna . Oavsett de eurasiska civilisationerna uppfanns det vigesimala positionsnummersystemet av mayaindianerna . Under en senare period utvecklades en sådan numrering av hinduerna och fick ovärderliga konsekvenser i civilisationens historia . Dessa system inkluderar decimaltalsystemet , vars uppkomst är förknippat med att räkna på fingrarna . I det medeltida Europa dök den upp genom italienska köpmän, som i sin tur lånade den av araberna.

Definitioner

Positionsnummersystemet definieras av ett heltal , som kallas basen i talsystemet. Ett talsystem med bas kallas också -ary (i synnerhet binär , ternär , decimal , etc.).

Ett heltal utan tecken i det -ary talsystemet representeras som en finit linjär kombination av potenser av talet [1] :

, där  är heltal, kallade siffror , som uppfyller olikheten

Varje grundelement i en sådan representation kallas en siffra ( position ), siffrornas anciennitet och deras motsvarande siffror bestäms av numret på siffran (positionen) (exponentens värde).

Med hjälp av positioner i det -ary talsystemet kan du skriva heltal i intervallet från till , d.v.s. alla olika nummer.

Skriva nummer

Om det inte finns några avvikelser (till exempel när alla siffror presenteras i form av unika skrivna tecken), skrivs numret som en sekvens av dess -ary-siffror, listade i fallande prioritetsordning för siffror från vänster till höger [1 ] :

I siffror som inte är noll , utelämnas vanligtvis inledande nollor.

Att skriva siffror i talsystem med bas upp till 36 inklusive arabiska siffror (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) och sedan bokstäverna i det latinska alfabetet (a , b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z). I det här fallet är a = 10, b = 11, etc., ibland x = 10.

När man arbetar med flera talsystem samtidigt, för att särskilja dem, indikeras systemets bas vanligtvis som en sänkning, som skrivs i decimalsystemet:

 är talet 123 i decimalnotation ;  - samma nummer i det oktala talsystemet ;  - samma nummer, men i det binära systemet ;  - samma nummer, men i decimaltalssystemet med binär kodning av decimalsiffror ( BCD );  - samma nummer, men i ett asymmetriskt ternärt talsystem ;  - samma nummer, men i det symmetriska ternära talsystemet , betecknar tecknen "i", "7", "2" och "−" "−1", tecknen "1" och "+" betecknar "+1" .

Inom vissa specialområden gäller särskilda regler för precisering av underlag. Till exempel, i programmering, betecknas det hexadecimala systemet med:

I vissa dialekter av C-språket, i analogi med "0x", används prefixet "0b" för att beteckna binära tal (notationen "0b" ingår inte i ANSI C- standarden ).

I ryska konton , för att skriva siffror i det decimala exponentiella positionsnummersystemet, används det unära decimalregistreringssystemet (representation) för decimalsiffror med en överflödig unär decimalsiffra "1111111111" = 10_ 10 för varje siffra.

Exempel

Egenskaper

Positionsnummersystemet har ett antal egenskaper:

Således motsvarar den naturliga ordningen på siffror den lexikografiska ordningen på deras poster i positionstalsystemet, förutsatt att dessa poster är utfyllda med inledande nollor till samma längd.

Ekonomi

Inom digital teknik implementeras basnummersystemet av register , bestående av uppsättningar av vippor , som var och en kan anta olika tillstånd som kodar siffrorna i ett nummer. Samtidigt är ekonomin i talsystemet av särskild vikt - förmågan att representera så många tal som möjligt med minsta möjliga totala antal tecken. [1] Om antalet utlösare är , då är det totala antalet tecken , respektive antalet siffror de representerar . Som en funktion av , når detta uttryck sitt maximum vid lika många e = 2,718281828… . [3] För heltalsvärden nås maxvärdet för . Det mest ekonomiska är alltså det ternära talsystemet (används i ternära datorer ), följt av det binära systemet (traditionellt används i de flesta vanliga datorer) och kvartärt.

Nummersystemets effektivitet är en viktig omständighet med tanke på dess användning i en dator. Därför, även om användningen av ett ternärt system istället för ett binärt i en dator medför vissa designsvårigheter (i det här fallet är det nödvändigt att använda element, som var och en kan vara i inte två, utan tre stabila tillstånd), detta system har redan använts [4] i vissa verkliga datorenheter. [ett]S. V. Fomin

En likvärdig beskrivning av talsystemets ekonomi kan erhållas med begreppet informationsentropi . Under villkoret att det är lika sannolikhet för utseendet av var och en av siffrorna i posten av numret, antar informationsentropin för posten för ett n -bitars tal i talsystemet med bas b ett värde (upp till en konstant koefficient ). Därför är inspelningstätheten (det vill säga mängden information per bit) för tal i talsystemet med bas b lika med , vilket också får ett maximalt värde vid b = e , och för heltalsvärden av b - vid b = 3.

Byt till en annan bas

Konvertera till decimaltalssystem

Om ett heltal i -ärt talsystem är lika med

sedan för att konvertera till decimalsystemet, beräknar vi följande summa : [5]

eller som Horners diagram :

Till exempel:

Liknande åtgärder äger också rum för bråkdelen :

Decimal översättning

hela delen
  1. Sekventiellt ( iterativt ) dividera heltalsdelen av decimaltalet med basen med resten tills decimaltalet (privat) blir noll.
  2. Återstoden som erhålls genom att dividera är siffrorna i det önskade numret. Numret i det nya systemet skrivs med början från den sista återstoden. [5] [6]
Bråkdel
  1. Vi multiplicerar bråkdelen av decimaltalet med basen av systemet som du vill översätta till, och separerar hela delen. Vi fortsätter att multiplicera bråkdelen med basen i det nya systemet och separera heltalsdelen tills talet är exakt 0.
  2. Bråksiffrorna i det nya talsystemet är de heltalsdelar som erhålls i det första steget, som, minskande i anciennitet från den mest signifikanta siffran i bråkdelen, går i den ordning som de mottogs och mottogs.

Obs ! Ibland när man översätter ett rationellt bråktal från ett decimalsystem med hjälp av sådana algoritmer kan en oändlig periodisk bråkdel erhållas: till exempel . För att hitta perioden måste du utföra de iterationer som beskrivs i första stycket, och förstå om samma bråkdel påträffas som för flera iterationer sedan [7] . (Reguljära bråk i olika talsystem skrivs nedan .)

Exempel

Låt oss konvertera till binärt:

44 dividerat med 2. kvot 22, resterande 0 22 dividerat med 2. kvot 11, resterande 0 11 dividerat med 2. kvot 5, resterande 1 5 dividerat med 2. kvot 2, resterande 1 2 dividerat med 2. kvot 1, resterande 0 1 dividerat med 2. kvot 0, resterande 1

Kvoten är noll - divisionen är över. Nu, när vi skriver alla rester nerifrån och upp, får vi numret

För bråkdelen ser algoritmen ut så här:

Multiplicera 0,625 med 2. Bråkdelen är 0,250. hela del 1. Multiplicera 0,250 med 2. Bråkdelen är 0,500. Heltalsdel 0. Multiplicera 0,500 med 2. Bråkdelen är 0,000. hela del 1.

På det här sättet,

Konvertering från binära till oktala och hexadecimala system

Det finns en förenklad algoritm för denna typ av operation. [åtta]

Hela delen

För oktal delar vi upp det översatta talet i ett antal siffror lika med potensen 2 (2 höjs till den potens som krävs för att få basen för det system som du vill översätta till (2³ \u003d 8), i detta fall 3, det vill säga triader). Låt oss omvandla triaderna enligt tabellen med triader:

000 - 0; 100-4; 001 - 1; 101-5; 010 - 2; 110-6; 011 - 3; 111-7.

För hexadecimal delar vi det översatta numret i ett antal siffror lika med potensen 2 (2 höjs till den potens som krävs för att få basen för systemet som du vill översätta till (2 4 \u003d 16), i detta fall 4, det vill säga tetrads). Låt oss konvertera tetraderna enligt tabellen över tetraderna:

0000 - 0; 0100 - 4; 1000 - 8; 1100-C; 0001 - 1; 0101 - 5; 1001 - 9; 1101 - D; 0010 - 2; 0110 - 6; 1010 - A; 1110 - E; 0011 - 3; 0111 - 7; 1011 - B; 1111-F.

Exempel:

konvertera 101100 2 oktal - 101 100 → 54 8 hexadecimal - 0010 1100 → 2C 16 Bråkdel

Omvandlingen av bråkdelen från det binära talsystemet till talsystemen med baserna 8 och 16 görs på exakt samma sätt som för talets heltalsdelar, med det enda undantaget att uppdelningen i oktaver och tetrader går till till höger om decimalkomma, de saknade siffrorna utfyllda med nollor till höger. Till exempel skulle talet 1100.011 2 som diskuterats ovan se ut som 14.3 8 eller C.6 16 .

Konvertering från oktala och hexadecimala system till binära [8]

För denna typ av operation finns det också en förenklad algoritm, det omvända till ovanstående algoritm.

För oktal omvandlar vi enligt tabellen till tripletter:

0 000 4 100 1001 5101 2010 6 110 3011 7111

För hexadecimal omvandlar vi enligt tabellen till kvartetter:

0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111

Exempel:

omvandla 54 8 → 101 100 2 2C 16 → 0010 1100 2

Variationer och generaliseringar

Skriva rationella tal

Ett rationellt tal i det -ary talsystemet representeras som en linjär kombination (i allmänhet, oändlig) av talets potenser :

där  - siffror i heltalsdelen (före avgränsaren ),  - siffror i bråkdelen (efter avgränsaren),  - antalet siffror i heltalsdelen.

Endast rationella tal som kan representeras i formen , där och  är heltal, det vill säga de som, efter att ha multiplicerat med basen i ett ändligt antal iterationer, kan få ett heltal kan ha en ändlig notation i det -ary talsystemet :

var och är -ary poster, respektive , av kvoten och resten av division med .

Rationella tal som inte kan representeras i formen skrivs som periodiska bråk .

Symmetriska talsystem

Symmetriska (balanserade, teckensiffriga ) bastalssystem skiljer sig genom att de använder tal inte från mängden utan från mängden där, grovt sett, alla tal ”reflekteras” relativt noll. För att talen ska vara heltal måste de vara udda. I symmetriska talsystem krävs ingen ytterligare notation för numrets tecken. [9] Dessutom är beräkningar i symmetriska system bekväma eftersom inga speciella avrundningsregler krävs  - avrundning till närmaste heltal reduceras till att helt enkelt kassera extra bitar, vilket kraftigt minskar systematiska fel i beräkningar.

Det vanligaste är det symmetriska numeriska ternära talsystemet . Det används i ternär logik och implementerades tekniskt i Setun -datorn .

Negativa baser

Det finns positionella system med negativa baser som kallas icke-positionella :

  • −2  - icke-binärt talsystem ;
  • −3  — Negativt talsystem;
  • −10  — nega-decimalt talsystem.

Icke-heltalsbaser

Ibland övervägs också positionsnummersystem med icke-heltalsbaser: rationell , irrationell , transcendental .

Exempel på sådana talsystem är:

  • med b = ⅓ - ett talsystem med en rationell bråkbas, låter dig utföra operationer av multiplikation och division med heltal på ternära omvända skiftregister ,
  • för b = ½ - talsystem med rationell bråkbas ,
  • med b = φ = 1,61… - Bergmans  talsystem med en irrationell bas lika med "det gyllene snittet ". [tio]

Komplexa baser

Baser för positionsnummersystem kan också vara komplexa [11] [12] tal. Samtidigt tar talen i dem värden från någon ändlig uppsättning som uppfyller villkoren som gör att du kan utföra aritmetiska operationer direkt med representationerna av siffror i dessa talsystem.

I synnerhet bland positionsnummersystem med komplexa baser kan binära särskiljas, där endast två siffror 0 och 1 används.

Exempel

Därefter kommer vi att skriva positionsnummersystemet i följande form , där  är basen för talsystemet och A  är uppsättningen siffror. Speciellt kan uppsättningen A se ut så här:

  • var och . När förvandlas uppsättningen till en uppsättning .

Exempel på talsystem med komplexa baser är (nedan j  - imaginär enhet ):

  • [12]
    • Exempel:
  • [elva]
    • Exempel:
  • [13]
  • där ,  är ett positivt heltal som kan anta flera värden för ett givet R ; [fjorton]
  • där mängden består av komplexa tal av formen och tal Till exempel: [13]
  • var . [femton]
Binära komplexa talsystem

Följande är baserna för de binära positionstalssystemen och representationerna av talen 2, −2 och −1 i dem:

  • : (nummersystem med naturlig bas);
  • : , , (icke-positionsnummersystem);
  • : , , (talsystem med komplex bas);
  • : , , (talsystem med komplex bas);
  • : , , (talsystem med komplex bas);
  • : , , (talsystem med komplex bas).

Icke-exponentiella talsystem

De exponentiella talsystemen är ett specialfall av positionstalssystem med exponentiellt beroende . Istället för exponentiellt beroende kan det finnas andra beroenden. Till exempel hyperoperatorns positionsnummersystem

låter dig skriva större antal siffror med samma antal tecken.

Anteckningar

  1. 1 2 3 4 S. V. Fomin . Nummersystem . — M .: Nauka, 1987. — 48 sid. - ( Populära föreläsningar om matematik ). ( alternativ länk Arkiverad 2 juni 2013 på Wayback Machine )
  2. Bityukov Sergey. 13 ljud och intervaller. Deras uppfattning och beteckning. Frets av avvikelse och modulering  (ryska)  ? . Habr (7 augusti 2021). Hämtad 26 augusti 2021. Arkiverad från originalet 12 augusti 2021.
  3. Hayes, Brian. Tredje basen  (engelska)  // American Scientist :tidskrift. - 2001. - Vol. 89 , nr. 6 . - S. 490-494 . doi : 10.1511 / 2001.40.3268 .
  4. Se Ternär dator .
  5. ↑ 1 2 Konvertera tal från ett nummersystem till ett annat online . matworld.ru . Hämtad 8 maj 2021. Arkiverad från originalet 9 maj 2021.
  6. Kapitel 4 - Aritmetiska grunder i datorer . mif.vspu.ru . Hämtad 8 maj 2021. Arkiverad från originalet 19 februari 2020.
  7. Översättning av bråktal från ett talsystem till ett annat - lektion. Datavetenskap, årskurs 11. . www.yaklass.ru _ Hämtad 8 maj 2021. Arkiverad från originalet 8 maj 2021.
  8. ↑ 1 2 Konvertera tal från binära till oktala och hexadecimala och vice versa . www.5byte.ru _ Hämtad 8 maj 2021. Arkiverad från originalet 15 maj 2021.
  9. S. B. Gashkov. Nummersystem och deras tillämpningar . - 2004. - 52 sid. - ( Bibliotek "Matematisk utbildning" ). — ISBN 5-94057-146-8 . Arkiverad kopia (inte tillgänglig länk) . Hämtad 8 mars 2008. Arkiverad från originalet 12 januari 2014. 
  10. A. V. Nikitin Bergman system Arkivexemplar daterad 5 maj 2009 på Wayback Machine .
  11. 1 2 Khmelnik S. I. Specialiserad digital dator för operationer med komplexa tal  // Problem med radioelektronik. - 1964. - T. XII , nummer. 2 .  (inte tillgänglig länk)
  12. 1 2 Knuth DE An Imaginary Number System // Kommunikation av ACM. - 1960. - V. 3 , nr 4 . - S. 245-247 . - doi : 10.1145/367177.367233 .
  13. 1 2 Khmelnik S.I. Kodning av komplexa tal och vektorer . — Matematik i datorer. - Israel, 2004. - ISBN 978-0-557-74692-7 .
  14. Khmelnik S. I. Positionskodning av komplexa tal  // Problem med radioelektronik. - 1966. - T. XII , nummer. 9 .  (inte tillgänglig länk)
  15. Khmelnik S.I. Metod och system för bearbetning av komplexa tal . - Patent USA, US2003154226 (A1). – 2001.

Länkar