Positionelt talsystem ( positionel, lokal nummerering ) er et talsystem , hvor værdien af hvert numerisk tegn ( ciffer ) i en talindtastning afhænger af dets position ( ciffer ) i forhold til decimalseparatoren . Positionelle systemer, i sammenligning med andre, gør det muligt væsentligt at forenkle algoritmerne til udførelse af aritmetiske operationer og fremskynde beregninger. Deres skabelse og distribution spillede en stor rolle i udviklingen af de eksakte videnskaber - matematik , astronomi og fysik .
Talsystemer i kultur | |
---|---|
indo-arabisk | |
arabisk tamil burmesisk |
Khmer Lao Mongolsk Thai |
østasiatisk | |
kinesisk japansk Suzhou koreansk |
Vietnamesiske tællestokke |
Alfabetisk | |
Abjadia Armensk Aryabhata kyrillisk græsk |
Georgisk etiopisk jødisk Akshara Sankhya |
Andet | |
Babylonsk egyptisk etruskisk romersk Donau |
Attic Kipu Mayan Aegean KPPU-symboler |
positionelle | |
2 , 3 , 4 , 5 , 6 , 8 , 10 , 12 , 16 , 20 , 60 | |
Nega-positionel | |
symmetrisk | |
blandede systemer | |
Fibonacci | |
ikke-positionelle | |
Ental (unær) |
Historisk set er den første opfindelse af positionsnummerering baseret på den lokale betydning af tal tilskrevet sumererne og babylonerne . Uanset de eurasiske civilisationer blev det vigesimale positionstalsystem opfundet af Maya -indianerne . I en senere periode blev en sådan nummerering udviklet af hinduerne og havde uvurderlige konsekvenser i civilisationens historie . Disse systemer omfatter decimaltalsystemet , hvis fremkomst er forbundet med at tælle på fingrene . I middelalderens Europa dukkede den op gennem italienske købmænd, som igen lånte den af araberne.
Positionstalsystemet er defineret af et heltal , kaldet bunden af talsystemet. Et talsystem med en base kaldes også -ary (især binær , ternær , decimal osv.).
Et heltal uden fortegn i det -ary talsystem er repræsenteret som en endelig lineær kombination af potenser af tallet [1] :
, hvor er heltal, kaldet cifre , der opfylder ulighedenHvert grundelement i en sådan repræsentation kaldes et ciffer ( position ), cifrenes anciennitet og deres tilsvarende cifre bestemmes af nummeret på cifferet (positionen) (værdien af eksponenten).
Ved hjælp af positioner i det -ary talsystem kan du skrive heltal i intervallet fra til , dvs. alle forskellige numre.
Hvis der ikke er nogen uoverensstemmelser (f.eks. når alle cifre præsenteres i form af unikke skrevne tegn), skrives nummeret som en sekvens af dets -ary-cifre, anført i faldende rækkefølge af cifre fra venstre mod højre [1 ] :
I ikke-nul tal udelades indledende nuller normalt.
At skrive tal i talsystemer med basis op til 36 inklusive, arabiske tal (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) og derefter bogstaver i det latinske alfabet (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 dette tilfælde er a = 10, b = 11 osv., nogle gange x = 10.
Når du arbejder med flere talsystemer på samme tid, for at skelne dem, er systemets basis normalt angivet som et sænket skrift, som er skrevet i decimalsystemet:
er tallet 123 i decimalnotation ; - det samme tal i det oktale talsystem ; - det samme tal, men i det binære system ; - det samme tal, men i decimaltalsystemet med binær kodning af decimalcifre ( BCD ); - det samme tal, men i et asymmetrisk ternært talsystem ; - det samme tal, men i det symmetriske ternære talsystem betegner tegnene "i", "7", "2" og "−" "−1", tegnene "1" og "+" betyder "+1" .På nogle særlige områder gælder særlige regler for angivelse af grundlaget. For eksempel i programmering er det hexadecimale system betegnet med:
I nogle dialekter af C-sproget, analogt med "0x", bruges præfikset "0b" til at betegne binære tal (notationen "0b" er ikke inkluderet i ANSI C- standarden ).
I russiske konti , for at skrive tal i det decimale eksponentielle positionstalsystem, bruges det unære decimalregistreringssystem (repræsentation) for decimalcifre med et overskydende unært decimalciffer "1111111111" = 10_ 10 for hvert ciffer.
Positionsnummersystemet har en række egenskaber:
Inden for digital teknologi er basistalsystemet implementeret af registre , der består af sæt flip- flops , som hver kan antage forskellige tilstande, der koder cifrene i et tal. Samtidig er økonomien i talsystemet af særlig betydning - evnen til at repræsentere så mange tal som muligt ved at bruge det mindst mulige samlede antal tegn. [1] Hvis antallet af udløsere er , så er det samlede antal tegn henholdsvis , og antallet af tal de repræsenterer er . Som en funktion af , når dette udtryk sit maksimum ved et lige tal e = 2,718281828… . [3] For heltalsværdier nås maksimum for . Det mest økonomiske er således det ternære talsystem (brugt i ternære computere ), efterfulgt af det binære system (traditionelt brugt i de fleste almindelige computere) og kvartært.
Talsystemets effektivitet er en vigtig omstændighed med hensyn til dets brug i en computer. Derfor, selvom brugen af et ternært system i stedet for et binært system i en computer medfører nogle designvanskeligheder (i dette tilfælde er det nødvendigt at bruge elementer, som hver især kan være i ikke to, men tre stabile tilstande), er dette system er allerede blevet brugt [4] i nogle virkelige computerenheder. [en]S. V. Fomin
En tilsvarende beskrivelse af talsystemets økonomi kan opnås ved hjælp af begrebet informationsentropi . Under betingelsen om ligesandsynligheden for udseendet af hvert af cifrene i registreringen af nummeret, antager informationsentropien i posten af et n - bit tal i talsystemet med basis b en værdi (op til en konstant koefficient ). Derfor er registreringstætheden (det vil sige mængden af information pr. bit) af tal i talsystemet med basis b lig med , hvilket også får en maksimal værdi ved b = e , og for heltalsværdier af b - ved b = 3.
Hvis et heltal i -ært talsystem er lig med
for derefter at konvertere til decimalsystemet, beregner vi følgende sum : [5]
eller som Horners diagram :
For eksempel:
Lignende handlinger finder også sted for brøkdelen :
Bemærk . Nogle gange kan man opnå en uendelig periodisk brøk, når man oversætter et rationelt brøktal fra et decimalsystem ved hjælp af sådanne algoritmer : for eksempel . For at finde perioden skal du udføre de iterationer, der er beskrevet i første afsnit, og forstå, om du støder på den samme brøkdel, som den var for flere iterationer siden [7] . (Regulære brøker i forskellige talsystemer er skrevet nedenfor .)
EksemplerLad os konvertere til binær:
44 divideret med 2. kvotient 22, resten 0 22 divideret med 2. kvotient 11, resten 0 11 divideret med 2. kvotient 5, resten 1 5 divideret med 2. kvotient 2, resten 1 2 divideret med 2. kvotient 1, resten 0 1 divideret med 2. kvotient 0, resten 1Kvotienten er nul - divisionen er slut. Nu, når vi skriver alle de resterende nedefra og op, får vi tallet
For brøkdelen ser algoritmen sådan ud:
Gang 0,625 med 2. Brøkdelen er 0,250. hele del 1. Gang 0,250 med 2. Brøkdelen er 0,500. Heltalsdel 0. Gang 0,500 med 2. Brøkdelen er 0,000. hele del 1.På denne måde
Der er en forenklet algoritme til denne type operation. [otte]
Hele delenFor oktal opdeler vi det oversatte tal i et antal cifre svarende til potensen 2 (2 er hævet til den potens, der kræves for at få bunden af det system, du vil oversætte til (2³ \u003d 8), i dette tilfælde 3, det vil sige treklanger). Lad os omdanne treklangerne i henhold til tabellen over treklanger:
000 - 0; 100 - 4; 001 - 1; 101-5; 010 - 2; 110-6; 011 - 3; 111-7.For hexadecimal opdeler vi det oversatte tal i et antal cifre svarende til potensen 2 (2 er hævet til den potens, der kræves for at få bunden af det system, du vil oversætte til (2 4 \u003d 16), i dette tilfælde 4, det vil sige tetrads). Lad os konvertere tetraderne i henhold til tabellen over tetraderne:
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.Eksempel:
konverter 101100 2 oktal - 101 100 → 54 8 hexadecimal - 0010 1100 → 2C 16 BrøkdelOmregningen af brøkdelen fra det binære talsystem til talsystemerne med basis 8 og 16 udføres på nøjagtig samme måde som for tallets heltal, med den eneste undtagelse, at opdelingen i oktaver og tetrader går til til højre for decimaltegnet, er de manglende cifre polstret med nuller til højre. For eksempel ville tallet 1100.011 2 diskuteret ovenfor ligne 14.3 8 eller C.6 16 .
Til denne type operation er der også en forenklet algoritme, det omvendte af ovenstående algoritme.
For oktal konverterer vi ifølge tabellen til tripletter:
0 000 4 100 1001 5101 2010 6 110 3011 7111For hexadecimal konverterer vi i henhold til tabellen til 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 1111Eksempel:
transformere 54 8 → 101 100 2 2C 16 → 0010 1100 2Et rationelt tal i det -ary talsystem er repræsenteret som en lineær kombination (generelt set uendelig) af tallets potenser :
hvor - cifre i heltalsdelen (før separatoren ), - cifre i brøkdelen (efter separatoren), - antallet af cifre i heltalsdelen.
Kun rationelle tal, der kan repræsenteres i formen , hvor og er heltal, det vil sige dem, der, efter at have ganget med basen i et endeligt antal iterationer, kan opnå et heltal, kan have en endelig notation i det -ary talsystem :
hvor og er -ary indtastninger, henholdsvis kvotienten og resten af division med .
Rationelle tal, der ikke kan repræsenteres i formen , skrives som periodiske brøker .
Symmetriske (afbalancerede, fortegnscifrede) basistalsystemer adskiller sig ved , at de ikke bruger tal fra mængden , men fra mængden , hvor groft sagt alle tallene "reflekteres" i forhold til nul. For at tallene skal være heltal, skal det være ulige. I symmetriske talsystemer kræves ingen yderligere notation for tallets fortegn. [9] Derudover er beregninger i symmetriske systemer praktiske, fordi der ikke kræves særlige afrundingsregler - afrunding til nærmeste heltal reduceres til blot at kassere ekstra bits, hvilket kraftigt reducerer systematiske fejl i beregninger.
Det mest almindeligt anvendte er det symmetriske numeriske ternære talsystem . Det bruges i ternær logik og blev teknisk implementeret i Setun -computeren .
Der er positionelle systemer med negative baser kaldet ikke-positionelle :
Nogle gange betragtes positionelle talsystemer med ikke-heltalsbaser også: rationel , irrationel , transcendental .
Eksempler på sådanne talsystemer er:
Baser af positionstalsystemer kan også være komplekse [11] [12] tal. Samtidig tager tallene i dem værdier fra et endeligt sæt , der opfylder de betingelser, der giver dig mulighed for at udføre aritmetiske operationer direkte med repræsentationer af tal i disse talsystemer.
Især blandt positionstalsystemer med komplekse baser kan der skelnes mellem binære, hvor kun to cifre 0 og 1 bruges.
EksemplerDernæst vil vi skrive positionstalsystemet i følgende form , hvor er bunden af talsystemet, og A er sættet af cifre. Især kan sættet A se ud:
Eksempler på talsystemer med komplekse baser er (herefter j - imaginær enhed ):
Følgende er baserne for de binære positionstalsystemer og repræsentationerne af tallene 2, −2 og −1 i dem:
De eksponentielle talsystemer er et specialtilfælde af positionstalsystemer med eksponentiel afhængighed . I stedet for eksponentiel afhængighed kan der være andre afhængigheder. For eksempel hyperoperatørens positionsnummersystem
giver dig mulighed for at skrive større rækker af tal med det samme antal tegn.
![]() |
---|