DatorerInformationsteknik

Representation av siffror i en dator. Representation av heltal och reella tal i datorns minne

Alla som någonsin har tänkt i mitt liv som att bli "proffs" eller systemadministratör, eller helt enkelt att koppla mycket med datateknik, kunskap om hur representationen av siffror i datorns minne, är absolut nödvändigt. När allt kommer omkring, baserat på denna låga nivå programmeringsspråk som assembler. Därför idag anser vi representationen av siffror i datorn och placera dem i minnescellerna.

notation

Om du läser den här artikeln, har du förmodligen redan vet om det, men det är värt att upprepa. Alla data i en dator lagras i binära talsystemet. Detta innebär att alla nummer du måste lämna lämplig form, som består av ettor och nollor.

För att överföra vanliga för oss decimaltal till en form begriplig dator måste du använda algoritmen som beskrivs nedan. Det finns också specialiserade räknare.

Så för att sätta numret i det binära systemet, måste du ta vår valda värde och dela det med 2. Efter det får vi resultatet och resten (0 eller 1). Resultat 2 återigen dela upp och memorera återstod. Denna procedur bör upprepas så länge som resultatet även kommer att vara 0 eller 1. Skriv sedan det slutliga värdet och resterna i omvänd ordning, som vi har fått dem.

Det är precis vad som händer i datorn representationen av siffror. Varje nummer lagrat i binär form, och sedan ta minnescellen.

minne

Som ni bör redan vet den minsta informationsenheten är en bit. Som vi har sett, representation av tal i datorn sker i binärt format. Sålunda är varje bit av minnet som upptas av ett värde på - 1 eller 0.

För lagring av ett stort antal används cell. Varje enhet innehåller 8 bitar information. Därför kan vi dra slutsatsen att det minsta värdet i varje minnessegment kan vara en eller vara ett åtta bitgruppers binära tal.

hela

Slutligen fick vi till direkt placering av data i en dator. Som nämnts, är det första processorn översätter informationen till ett binärt format, och först därefter tilldelar minnet.

Vi börjar med det enklaste alternativet, som är representationen av heltal i datorn. PC minne tilldelas för processen är löjligt litet antal celler - bara en. Sålunda kan ett maximum av en lucka vara ett värde från 0 till 11111111. Låt oss översätta det maximala antalet poster i den vanliga formen.
X = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 1 × februari 08-01 = 255 .

Nu ser vi att i en minnescell kan placeras från 0 till 255. Detta gäller dock bara för icke-negativt heltal. Om datorn behöver spela in ett negativt värde, allt går lite annorlunda.

negativa tal

Nu ska vi se hur representationen av siffror i datorn, om de är negativa. För att skriva ett värde som är mindre än noll, överlåtet två minnesceller, eller 16 bitar information. Sålunda 15 gå under numret själv, och den första (längst till vänster) bit ges av motsvarande märke.

Om siffran är negativt, det är inspelad, "1", om den är positiv, då "0". För att underlätta memorering, kan du rita följande analogi: om tecknet är, sedan lägga en om det inte är, sedan ingenting (0).

De återstående 15 informationsbitar tilldelas ett nummer. I likhet med det tidigare fallet, kan du sätta en högst femton enheter i dem. Det bör noteras att införandet av negativa och positiva tal skiljer sig avsevärt från varandra.

I syfte att tillgodose de 2 minnesceller är större än noll eller lika med, en så kallad direkt kod. Denna operation utförs på samma sätt som beskrivits ovan, och den maximala A = 32766, vid användning av decimalnotation. Vill bara att notera att i det här fallet "0" avser det positiva.

exempel

Representation av heltal i datorns minne är inte en så svår uppgift. Även om det är lite mer komplicerat när det gäller ett negativt värde. För att registrera antalet är mindre än noll, med hjälp av en ytterligare kod.

För att få det, ger maskinen ett antal extra operationer.

  1. Första inspelade modulen för ett negativt tal i binär notation. Det vill säga, datorn kommer ihåg en liknande men positiv.
  2. Sedan ett minne invertera varje bit. För detta ändamål är alla enheter ersätts med nollor och vice versa.
  3. Vi lägger en "1" till resultatet. Detta kommer att vara ytterligare kod.

Här är ett levande exempel. Antag att vi har ett antal X = - 131. Först erhålla modulen | X | = 131 omvandlas sedan till ett binärt system och ett register över 16 celler. Vi får X = 0000000010000011. Efter invertering X = 1111111101111100. Tillsats därtill av "1" och erhålla den inversa koden X = 1111111101111101. För registrering av en 16-bitars minnescell är det minsta antalet X = - (2 15) = - 32767.

longs

Som ni kan se, är representationen av reella tal i en dator inte så svårt. Emellertid kan diskussionen om intervallet inte vara tillräckligt för de flesta verksamheter. Därför, för att rymma ett stort antal dator allokerar minnescellen 4, eller 32 bitar.

Inspelningsprocessen skiljer sig inte från den som presenteras ovan. Så vi ger bara en nummerserie som kan lagras i den här typen.

X max = 2147483647.

X min = - 2147483648.

Datavärden i de flesta fall tillräckligt för att spela in och utföra operationer på data.

Representation av reella tal i en dator har sina fördelar och nackdelar. Å ena sidan, gör denna metod det lättare att utföra operationer mellan de heltalsvärden, vilket kraftigt snabbar upp processorn. Å andra sidan är detta område inte tillräckligt för att lösa de flesta problem inom ekonomi, fysik, aritmetik och andra vetenskaper. Nu tittar vi på en annan metod för sverhvelichin.

flyttal

Detta är det sista du behöver veta om representationen av siffror i en dator. Eftersom det finns ett problem att bestämma positionen för ett kommatecken i dem, för att rymma sådana nummer i en dator som används av den exponentiella formen när du skriver fraktioner.

Vilket som helst antal kan representeras i följande form X p = m * n. Där m - är antalet mantissan, p - radix och n - beställningsnummer.

Att standardisera de inspelning flyttal används följande villkor, enligt vilket mantissan modulen bör vara större än eller lika med 1 / n och mindre än 1.

Låt oss nummer 666,66 ges. Låt oss ge det till den exponentiella formen. Ix = 0,66666 x 10 mars. P = 10 och n = 3.

På lagring av flyttalsvärden vanligtvis allokeras 4 eller 8 byte (32 bitar eller 64). I det första fallet kallas det antalet enkel precision, medan den andra - en dubbel precision.

Av de 4 byte allokerade för lagring av siffror, 1 (8 bitar) som ges nedan om förfarandet data och dess tecken, och 3 byte (24 bitar) för lagring av mantissan sätta sin prägel och på samma principer som gäller för heltalsvärden. Att veta detta kan vi göra några enkla beräkningar.

Det maximala värdet på n = 2 1111111 127 = 10. Baserat på det, kan vi få den maximala mängden tal som kan lagras i datorminnet. X = 2127. Nu kan vi beräkna den högsta möjliga mantissa. Det kommer att vara lika med från 23 till 01 februari ≥ 2 23 = 2 (10 x 2,3) ≥ 1000 2,3 = 10 (3 × 2,3) ≥ 10 7:e. Som ett resultat får vi ett ungefärligt värde.

Nu, om vi kombinerar både beräkningen får vi det värde som kan lagras utan förlust av 4 byte minne. Det kommer att vara lika med X = 1.701411 * 10 38. De återstående siffrorna kastas, eftersom det tillåter dig att ha en noggrannhet av metoden för inspelning.

dubbel precision

Eftersom alla beräkningar har målats och förklaras i föregående stycke, här berättar vi alla mycket snart. För dubbel precision nummer vanligtvis tilldelas 11 bitar för ordern och dess tecken samt 53 bitar för mantissan.

1111111111 n = 2 1023 = 10.

M = 2 52 -1 = 2 (10 * 5,2) = 1000 5,2 = 10 15,6 . Rundade och erhålla det maximala antalet = 2 X 1023 upp till "m".

Vi hoppas att informationen om representationen av heltal och reella tal i datorn, har vi tillhandahållit, är det bra för dig i utbildning och kommer att vara lite tydligare än vad som brukar skrivas i läroböckerna.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sv.atomiyme.com. Theme powered by WordPress.