Positionsnummersystem

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)

Historie

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.

Definitioner

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 uligheden

Hvert 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.

Skrive 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.

Eksempler

Egenskaber

Positionsnummersystemet har en række egenskaber:

Den naturlige rækkefølge på tal svarer således til den leksikografiske rækkefølge på deres indtastninger i positionstalsystemet, forudsat at disse indtastninger er polstret med indledende nuller i samme længde.

Økonomi

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.

Skift til en anden base

Konverter til decimaltalssystem

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 :

Decimal oversættelse

hele delen
  1. Divider sekventielt ( iterativt ) den heltallige del af decimaltallet med grundtallet med resten, indtil decimaltallet (privat) bliver nul.
  2. Resten opnået ved at dividere er cifrene i det ønskede tal. Nummeret i det nye system skrives fra den sidste rest. [5] [6]
Brøkdel
  1. Vi multiplicerer brøkdelen af ​​decimaltallet med bunden af ​​det system, du vil oversætte til, og adskiller hele delen. Vi fortsætter med at gange brøkdelen med bunden af ​​det nye system og adskille heltalsdelen, indtil tallet er nøjagtigt 0.
  2. Brøkcifrene i det nye talsystem er de heltalsdele, der er opnået i første trin, som, faldende i anciennitet fra brøkdelens mest betydende ciffer, går i den rækkefølge, de blev og blev modtaget i.

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 .)

Eksempler

Lad 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 1

Kvotienten 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

Konvertering fra binære til oktale og hexadecimale systemer

Der er en forenklet algoritme til denne type operation. [otte]

Hele delen

For 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økdel

Omregningen 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 .

Konvertering fra oktale og hexadecimale systemer til binære [8]

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 7111

For 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 1111

Eksempel:

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

Variationer og generaliseringer

Skrivning af rationelle tal

Et 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 talsystemer

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 .

Negative baser

Der er positionelle systemer med negative baser kaldet ikke-positionelle :

  • −2  - ikke-binært talsystem ;
  • −3  — nega-ternært talsystem;
  • −10  — nega-decimalt talsystem.

Ikke-heltalsbaser

Nogle gange betragtes positionelle talsystemer med ikke-heltalsbaser også: rationel , irrationel , transcendental .

Eksempler på sådanne talsystemer er:

  • med b = ⅓ - et talsystem med en rationel brøkbasis, giver dig mulighed for at udføre operationer med multiplikation og division med heltal på ternære omvendte skifteregistre ,
  • for b = ½ - talsystem med rationel brøkgrundlag ,
  • med b = φ = 1,61… - Bergmans  talsystem med en irrationel base lig med det " gyldne snit ". [ti]

Komplekse baser

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.

Eksempler

Dernæ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:

  • hvor og . Når bliver sættet til et sæt .

Eksempler på talsystemer med komplekse baser er (herefter j  - imaginær enhed ):

  • [12]
    • Eksempel:
  • [elleve]
    • Eksempel:
  • [13]
  • hvor ,  er et positivt heltal, der kan antage flere værdier for en given R ; [fjorten]
  • hvor mængden består af komplekse tal på formen , og tal For eksempel: [13]
  • hvor . [femten]
Binære komplekse talsystemer

Følgende er baserne for de binære positionstalsystemer og repræsentationerne af tallene 2, −2 og −1 i dem:

  • : (talsystem med naturlig base);
  • : , , (ikke-positionelt talsystem);
  • : , , (talsystem med kompleks base);
  • : , , (talsystem med kompleks base);
  • : , , (talsystem med kompleks base);
  • : , , (talsystem med kompleks basis).

Ikke-eksponentielle talsystemer

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.

Noter

  1. 1 2 3 4 S. V. Fomin . Talsystemer . — M .: Nauka, 1987. — 48 s. - ( Populære foredrag om matematik ). ( alternativt link Arkiveret 2. juni 2013 på Wayback Machine )
  2. Bityukov Sergey. 13 lyde og intervaller. Deres opfattelse og betegnelse. Frets af afvigelse og modulering  (russisk)  ? . Habr (7. august 2021). Hentet 26. august 2021. Arkiveret fra originalen 12. august 2021.
  3. Hayes, Brian. Tredje base  (engelsk)  // American Scientist :magasin. - 2001. - Bd. 89 , nr. 6 . - S. 490-494 . doi : 10.1511 / 2001.40.3268 .
  4. Se Ternær computer .
  5. ↑ 1 2 Konvertering af tal fra et talsystem til et andet online . matworld.ru . Hentet 8. maj 2021. Arkiveret fra originalen 9. maj 2021.
  6. Kapitel 4 - Aritmetiske grundlæggende principper for computere . mif.vspu.ru . Hentet 8. maj 2021. Arkiveret fra originalen 19. februar 2020.
  7. Oversættelse af brøktal fra et talsystem til et andet - lektion. Datalogi, klasse 11. . www.yaklass.ru _ Hentet 8. maj 2021. Arkiveret fra originalen 8. maj 2021.
  8. ↑ 1 2 Konvertering af tal fra binære til oktale og hexadecimale og omvendt . www.5byte.ru _ Hentet 8. maj 2021. Arkiveret fra originalen 15. maj 2021.
  9. S. B. Gashkov. Nummersystemer og deres applikationer . - 2004. - 52 s. - ( Bibliotek "Matematisk uddannelse" ). — ISBN 5-94057-146-8 . Arkiveret kopi (ikke tilgængeligt link) . Hentet 8. marts 2008. Arkiveret fra originalen 12. januar 2014. 
  10. A. V. Nikitin Bergman system Arkivkopi dateret 5. maj 2009 på Wayback Machine .
  11. 1 2 Khmelnik S. I. Specialiseret digital computer til operationer med komplekse tal  // Problemer med radioelektronik. - 1964. - T. XII , udg. 2 .  (utilgængeligt link)
  12. 1 2 Knuth DE An Imaginary Number System // Kommunikation af ACM. - 1960. - V. 3 , nr. 4 . - S. 245-247 . - doi : 10.1145/367177.367233 .
  13. 1 2 Khmelnik S.I. Kodning af komplekse tal og vektorer . — Matematik i Computere. - Israel, 2004. - ISBN 978-0-557-74692-7 .
  14. Khmelnik S. I. Positionel kodning af komplekse tal  // Problemer med radioelektronik. - 1966. - T. XII , udg. 9 .  (utilgængeligt link)
  15. Khmelnik S.I. Metode og system til behandling af komplekse tal . - Patent USA, US2003154226 (A1). – 2001.

Links