Datamaskiner, Informasjonsteknologi
Representasjon av tall i en datamaskin. Representasjon av heltall og reelle tall i datamaskinens minne
Alle som har tenkt i mitt liv at å bli "proffene" eller systemadministrator, eller bare for å knytte mye med datateknologi, kunnskap om hvordan representasjon av tall i datamaskinens minne, er helt nødvendig. Tross alt, basert på denne lavnivå programmeringsspråk som assembler. Derfor, i dag vi vurdere representasjon av tall i datamaskinen og plassere dem i minnecellene.
notasjon
Hvis du leser denne artikkelen, har du sannsynligvis allerede vet om det, men er verdt å gjenta. Alle data i en personlig datamaskin er lagret i det binære tallsystemet. Dette betyr at mange du må sende inn riktig form, som er sammensatt av nuller og enere.
For å overføre fast for oss desimaltall til en form forståelig datamaskin, må du bruke algoritmen beskrevet nedenfor. Det finnes også spesialiserte kalkulatorer.
Så, for å sette tall i det binære systemet, må du ta våre valgte verdi og dele det med 2. Etter det får vi resultatet og resten (0 eller 1). Resultat 2 igjen fordele og lagre rester. Denne prosedyren bør gjentas så lenge resultatet også vil være 0 eller 1. Deretter skriver den endelige verdien og restene i omvendt rekkefølge, som vi har mottatt dem.
Det er akkurat det som skjer i datamaskinen representasjon av tall. Enhver nummer lagret i binær form, og deretter ta minnecellen.
minne
Som du bør allerede vet minimum informasjonsenheten er en bit. Som vi har sett, representasjon av tall i datamaskinen skjer i binært format. Således blir hver bit av minne okkupert av en verdi av - en eller 0.
For lagring av store mengder brukte celle. Hver enhet inneholder 8 informasjonsbiter. Derfor kan vi konkludere med at minimumsverdien i hvert minne segment kan være en eller være en åtte-biters binærtall.
hele
Endelig fikk vi til direkte plassering av data i en datamaskin. Som nevnt, er det første prosessoren overs informasjonen til et binært format, og bare da tildeler minnet.
Vi begynner med det enkleste alternativet, som er representasjon av heltall i datamaskinen. PC-minnet er tildelt for prosessen er latterlig lite antall celler - bare ett. Dermed kan maksimalt ett spor være en verdi fra 0 til 11111111. La oss oversette det maksimale antall oppføringer i vanlig form.
X = 1 x 2 7 + 1 x 2 6 + 1 x 2 5 + 1 x 2 4 + 1 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 = 1 x februar 8-1 = 255 .
Nå ser vi at i en minnecelle kan anbringes fra 0 til 255. Dette gjelder imidlertid bare for ikke-negativt heltall. Hvis datamaskinen trenger for å spille inn en negativ verdi, går alt litt annerledes.
negative tall
La oss nå se hvordan representasjon av tall i datamaskinen, hvis de er negative. For å skrive en verdi som er mindre enn null, er tilordnet to minneceller, eller 16 biter med informasjon. Således 15 gå under selve nummeret, og den første (lengst til venstre) bit er gitt ved den tilsvarende merket.
Hvis tallet er negativt, er det spilt inn, "1", hvis positiv, deretter "0". For enkel utenatlæring, kan du tegne følgende analogi: Hvis skiltet er, og deretter sette en hvis det ikke er, så ingenting (0).
De resterende 15 biter av informasjon blir tildelt et nummer. I likhet med den forrige saken, kan du sette maksimalt femten enheter i dem. Det bør bemerkes at oppføring av negative og positive tall er vesentlig forskjellig fra hverandre.
For å kunne imøtekomme de 2 minnecellene er større enn null eller lik til, en såkalt direkte kode. Denne operasjonen blir utført på den samme måte som beskrevet ovenfor, og den maksimale A = 32766, ved bruk av titallssystemet. Vil bare å merke seg at i dette tilfellet "0" refererer til det positive.
eksempler
Representasjon av tall i datamaskinens minne er ikke en så vanskelig oppgave. Selv om det er litt mer komplisert når det kommer til en negativ verdi. For å ta opp det antall som er mindre enn null, ved hjelp av en tilleggskode.
For å få det, produserer maskinen en rekke hjelpeoperasjoner.
- Først registrert modulus av et negativt tall i binær notasjon. Det vil si at maskinen husker en lignende, men positiv.
- Deretter et minne invertere hver bit. For dette formålet, er alle enheter erstattes med nuller og vice versa.
- Vi legger til et "1" til resultatet. Dette vil være ekstra kode.
Her er et levende eksempel. Anta at vi har en rekke X = - 131. Først få modulus | X | = 131 blir så omdannet til et binært system og en registrering av 16 celler. Vi får X = 0000000010000011. Etter å snu X = 1111111101111100. Tilsetning av "1" og oppnå den inverse kode X = 1111111101111101. For å ta opp en 16-bits minnecelle er det minste antallet X = - (2 15) = - 32.767.
lengter
Som du kan se, er representasjon av reelle tall i en datamaskin ikke så vanskelig. Men diskusjonen av området kan ikke være tilstrekkelig for de fleste operasjoner. Derfor, for å få plass til et stort antall datamaskin allokerer minnecellen 4, eller 32 biter.
Innspillingsprosessen skiller seg ikke fra det som er presentert ovenfor. Så vi bare gi en rekke tall som kan lagres i denne typen.
X max = 2147483647.
X min = - 2147483648.
Dataverdier i de fleste tilfeller nok til å ta opp og å utføre operasjoner på dataene.
Representasjon av reelle tall i en datamaskin har sine fordeler og ulemper. På den ene side gjør denne metoden det lettere å utføre operasjoner mellom de heltallige verdier, som i stor grad øker hastigheten på prosessoren. På den annen side, er dette området ikke er nok til å løse de fleste problemer innen økonomi, fysikk, regning og andre vitenskaper. Så nå ser vi på en annen metode for sverhvelichin.
flytende punktet
Dette er det siste du trenger å vite om representasjon av tall i en datamaskin. Siden det er et problem å bestemme posisjonen av et komma i dem, for å få plass til slike tall i en maskin som brukes av den eksponensielle formen ved skriving fraksjoner.
Hvilket som helst antall kan være representert i det følgende skjema X p = m * n. Hvor m - er antallet mantisse, p - radix og n - ordrenummeret.
For å standardisere opptak flyttall brukt følgende betingelse, i henhold til hvilken mantissen modulen bør være større enn eller lik 1 / n, og mindre enn 1.
La oss nummeret 666,66 gis. La oss gi den til den eksponentielle form. I x = 0,66666 * 10. mars. P = 10 og n = 3.
Ved lagring av flytende kommaverdier vanligvis avsatt 4 eller 8 byter (32 biter eller 64). I det første tilfellet er det som kalles antallet single-presisjon, mens den andre - en dobbel presisjon.
Av de 4 bytes avsatt til lagring av tall, 1 (8 biter) som er gitt nedenfor på prosedyren data og dets fortegn, og 3 byter (24 biter) for lagring av mantissen prege og på de samme prinsippene som for de heltallige verdier. Å vite dette, kan vi gjøre noen enkle beregninger.
Den maksimale verdi av n = 2 1111111 127 = 10. Basert på det, kan vi få den maksimale mengden av tall som kan lagres i datamaskinens minne. X = 2127. Nå kan vi beregne maksimalt mulig mantissa. Det vil være lik 23-1 februar ≥ 2 23 = 2 (10 x 2,3) ≥ 1000 2,3 = 10 (3 x 2,3) ≥ 10 7.. Som et resultat, får vi en omtrentlig verdi.
Nå, hvis vi kombinerer både av beregningen, får vi verdien som kan lagres uten tap av 4 byte minne. Det vil være lik X = 1.701411 * 10 38. De resterende sifrene blir forkastet, fordi det tillater deg å ha en nøyaktighet på metoden for opptak.
dobbel presisjon
Siden alle beregninger har blitt malt og forklart i forrige avsnitt, her forteller vi deg alle veldig snart. For dobbel presisjon nummer blir vanligvis tildelt 11 bit for ordren og fortegn samt 53 bits for mantissen.
1111111111 n = 2 1023 = 10.
M = 2 52 -1 = 2 (10 * 5,2) = 1,000 5,2 = 10 15,6 . Avrundet og skaffe det maksimale antall = 2 X 1023 opp til "m".
Vi håper informasjonen om representasjon av heltall og reelle tall i datamaskinen, har vi gitt, det er nyttig for deg i trening og vil være litt klarere enn det som vanligvis skrevet i lærebøkene.
Similar articles
Trending Now