Tallsystemer
Et tallsystem er et sett med regler for å representere tall ved hjelp av forskjellige talltegn. Tallsystemer er klassifisert i to typer: ikke-posisjonelle og posisjonelle.
I posisjonsnummersystemer avhenger ikke verdien av hvert siffer av posisjonen det opptar, det vil si av plassen det opptar i settet med sifre. I romertallsystemet er det bare syv sifre: en (I), fem (V), ti (X), femti (L), hundre (C), fem hundre (D), tusen (M). Ved å bruke disse tallene (symbolene) skrives de resterende tallene ved addisjon og subtraksjon. For eksempel er IV notasjonen til tallet 4 (V — I), VI er tallet 6 (V + I), og så videre. Tallet 666 er skrevet i det romerske systemet som følger: DCLXVI.
Denne notasjonen er mindre praktisk enn den vi bruker for øyeblikket. Her er seks skrevet med ett symbol (VI), seks tiere med et annet (LX), seks hundre og tredje (DC). Det er veldig vanskelig å utføre aritmetiske operasjoner med tall skrevet i romertallsystemet. En vanlig ulempe med ikke-posisjonelle systemer er også kompleksiteten ved å representere store nok tall i dem til å resultere i ekstremt tungvint notasjon.
Tenk nå på det samme tallet 666 i posisjonsnummersystemet. I den betyr et enkelt tegn 6 antall enere hvis det er på siste plass, antall tiere hvis det er på nest siste plass, og antall hundre hvis det er på tredje plass fra slutten. Dette prinsippet for å skrive tall kalles posisjonelt (lokalt). I et slikt opptak får hvert siffer en numerisk verdi avhengig av ikke bare stilen, men også av hvor den står når tallet skrives.
I posisjonstallsystemet kan et hvilket som helst tall representert som A = +a1a2a3 … ann-1an representeres som en sum
hvor n – endelig antall sifre i bildet av et tall, ii nummer i-go-siffer, d – tallsystemets grunntall, i – kategoriens ordningsnummer, dm-i – «vekt» av i-ro-kategorien . Sifre ai må tilfredsstille ulikheten 0 <= a <= (d — 1).
For desimalnotasjon er d = 10 og ai = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Siden tall som består av enere og nuller kan oppfattes som desimaltall eller binære tall når de brukes sammen, angis vanligvis tallsystemets grunnflate, for eksempel (1100)2-binært, (1100)10-desimaltall.
I digitale datamaskiner er andre systemer enn desimal mye brukt: binære, oktale og heksadesimale.
Binært system
For dette systemet er d = 2 og her er bare to sifre tillatt, dvs. ai = 0 eller 1.
Ethvert tall uttrykt i det binære systemet er representert som summen av produktet av grunnkraften to ganger det binære sifferet til den gitte biten. For eksempel kan tallet 101,01 skrives slik: 101,01 = 1×22 + 0x21 + 1×20 + 0x2-1 + 1×2-2, som tilsvarer tallet i desimalsystemet: 4 + 1 + 0,25 = 5,25.
I de fleste moderne digitale datamaskiner brukes det binære tallsystemet til å representere tall i en maskin og utføre aritmetiske operasjoner på dem.
Det binære tallsystemet, sammenlignet med desimalsystemet, gjør det mulig å forenkle kretsene og kretsene til den aritmetiske enheten og minneenheten og å øke påliteligheten til datamaskinen. Sifferet til hver bit av et binært tall er representert av «på/av»-tilstandene til slike elementer som transistorer, dioder, som fungerer pålitelig i «på/av»-tilstandene. Ulempene med det binære systemet inkluderer behovet for å oversette i henhold til et spesielt program de originale digitale dataene til det binære tallsystemet og resultatene av avgjørelsen til desimal.
Oktalt tallsystem
Dette systemet har grunntallet d == 8. Tall brukes til å representere tall: 0, 1, 2, 3, 4, 5, 6, 7.
Det oktale tallsystemet brukes i datamaskinen som et hjelpemiddel til å forberede problemer for løsning (i programmeringsprosessen), for å kontrollere driften av en maskin og til å feilsøke et program. Dette systemet gir en kortere representasjon av tallet enn det binære systemet. Det oktale tallsystemet lar deg enkelt bytte til det binære systemet.
Heksadesimalt tallsystem
Dette systemet har base d = 16. 16 tegn brukes til å representere tall: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F og tegnene A … F representerer desimaltallene 10, 11, 12, 13, 14 og 15. Det heksadesimale tallet (1D4F) 18 vil tilsvare desimaltallet 7503 fordi (1D4F)18 = 1 x163 + 13 x 162 + 14+161 15 x 160 = (7503)10
Heksadesimal notasjon gjør at binære tall kan skrives mer kompakt enn oktale. Den finner applikasjoner i inn- og utdataenheter og visningsenheter for nummerrekkefølge på enkelte datamaskiner.
Binært-desimalt tallsystem
Representasjonen av tall i binært-desimalt system er som følger. Desimalnotasjonen til tallet tas som grunnlag, og deretter skrives hvert av sifrene (fra 0 til 9) i form av et firesifret binært tall kalt en tetrad, det vil si at ikke ett tegn brukes til å representere hvert siffer i desimalsystemet, men fire.
For eksempel vil desimalen 647,59 tilsvare BCD 0110 0100 0111, 0101 1001.
Det binære-desimale tallsystemet brukes som et mellomtallsystem og for koding av inn- og utdatatall.
Regler for overføring av ett nummersystem til et annet
Utveksling av informasjon mellom dataenheter utføres hovedsakelig gjennom tall representert i det binære tallsystemet. Imidlertid presenteres informasjon til brukeren i tall i desimalsystemet, og kommandoadressering presenteres i det oktale systemet. Derav behovet for å overføre tall fra ett system til et annet i prosessen med å jobbe med en datamaskin. For å gjøre dette, bruk følgende generelle regel.
For å konvertere et helt tall fra et hvilket som helst tallsystem til et annet, er det nødvendig å suksessivt dividere dette tallet med basen til det nye systemet til kvotienten ikke er mindre enn divisoren. Tallet i det nye systemet må skrives i form av rester av divisjon, som starter med den siste, det vil si fra høyre til venstre.
La oss for eksempel konvertere desimalen 1987 til binær:
Desimaltallet 1987 i binært format er 11111000011, dvs. (1987)10 = (11111000011)2
Når du skifter fra et hvilket som helst system til desimal, blir tallet representert som summen av potensene til basen med de tilsvarende koeffisientene, og deretter beregnes verdien av summen.
La oss for eksempel konvertere oktaltall 123 til desimal: (123)8 = 1 x 82 + 2 x 81 + 3 x 80 = 64 + 16 + 3 = 83, dvs. (123)8 = (83)10
For å overføre brøkdelen av et tall fra et hvilket som helst system til et annet, er det nødvendig å utføre suksessiv multiplikasjon av denne brøkdelen og de resulterende brøkdelene av produktet basert på det nye tallsystemet. Brøkdelen av et tall i det nye systemet dannes i form av hele deler av de resulterende produktene, fra det første. Multiplikasjonsprosessen fortsetter til et tall med en gitt presisjon er beregnet.
La oss for eksempel konvertere desimalbrøken 0,65625 til det binære tallsystemet:
Siden brøkdelen av det femte produktet kun består av nuller, er ytterligere multiplikasjon unødvendig. Dette betyr at den gitte desimalen konverteres til binær uten feil, dvs. (0,65625)10 = (0,10101)2.
Konvertering fra oktal og heksadesimal til binær og omvendt er ikke vanskelig. Dette er fordi basene deres (d — 8 og d — 16) tilsvarer heltall på to (23 = 8 og 24 = 16).
For å konvertere oktale eller heksadesimale tall til binære, er det nok å erstatte hvert av tallene deres med henholdsvis et tre- eller firesifret binært tall.
La oss for eksempel oversette det oktale tallet (571)8 og det heksadesimale tallet (179)16 til det binære tallsystemet.
I begge tilfeller får vi samme resultat, dvs. (571)8 = (179)16 = (101111001)2
For å konvertere et tall fra binær desimal til desimal, må du erstatte hver tetrad av tallet representert i binær desimal med et siffer representert med desimal.
La oss for eksempel skrive tallet (0010 0001 1000, 0110 0001 0110)2-10 i desimalnotasjon, dvs. (0010 0001 1000, 0110 0001 0110)2-10 = (218.625)
