Reprezentarea calculator Ektura numerelor
Întregi sunt cele mai simple date numerice, care funcționează pe computer. Pentru numere întregi, există două puncte de vedere: nesemnate (numai pentru numere întregi non-negative), și cu un semn. Este evident că un număr negativ poate fi reprezentat numai sub forma unui punct de reper. Întregi din computer sunt stocate în format punct fix.
Reprezentarea numerelor întregi la tipuri întregi fără semn.
Pentru reprezentarea unsigned toți biții celulei sunt alocate reprezentarea numărului. De exemplu, într-un octet (8 biți) poate fi reprezentat printr-un număr fără semn între 0 și 255. Prin urmare, în cazul în care se știe că valoarea numerică este non-negativă, atunci avantajos să considere ca unsigned.
Reprezentarea numerelor întregi în tipuri întregi semnate. Pentru depunerea de a semna cel mai vechi (stânga) bit este alocată sub semnul numărului, cifrele rămase - numărul de la sine. Dacă numărul este pozitiv, bitul de semn este plasat 0 dacă este negativ - 1. De exemplu, un octet poate fi reprezentat prin semnul -128-127.
Numărul de cod direct. Reprezentarea numărului sub forma familiară de „o“ - „valoare“, în care cel mai semnificativ bit al celulei este dată de semnul, iar restul - un număr record în sistem binar, numit sursa directă a numărului binar. De exemplu, codul directă numere binare 1001 și -1001 de la celula de 8-biți este egal cu 00001001 și, respectiv, 10001001. Numerele pozitive sunt întotdeauna reprezentate într-un calculator folosind codul direct. Numărul de cod direct coincide cu o înregistrare a numărului de mașini în celulă. Codul direct pentru un anumit număr negativ diferă de conținutul corespunzător de cod pozitive directe numai bitul de semn. Cu toate acestea, numere întregi negative nu sunt reprezentate în calculator prin intermediul codului directă, un cod suplimentar așa-numitele să le reprezinte. Codul adițional este un număr pozitiv direct al numerelor de cod. Suplimentar negativ numărul de cod m este 2 k - | m |, unde k - numărul de biți în celulă. După cum sa menționat deja, în prezentarea numerelor non-negative în format nesemnate, toți biții celulei sunt alocate numărul în sine. De exemplu, numărul de înregistrare 243 = 11110011 într-un singur octet la reprezentare fără semn este după cum urmează:
apare bit de semn întrebare: Care este scopul numerelor reale negative sunt scrise sub formă de cod suplimentar și modul în care pentru a obține codul adițional al unui număr negativ? Codul suplimentar este utilizat pentru a simplifica operațiile aritmetice. În cazul în care computerul a lucrat cu coduri directe numere pozitive și negative, ar fi necesară efectuarea unor pași suplimentari atunci când efectuează operații aritmetice. De exemplu, adăugând că ar fi necesar să se verifice semnele ambelor operanzi și de a determina semnul rezultatului. În cazul în care același semn, atunci valoarea calculată a operanzilor și este atribuită aceeași etichetă. În cazul în care semnele sunt diferite, atunci valoarea absolută mai mare a rezultatului scăzute este atribuit unei mai mici și un număr mai mare semn. Aceasta este, în această reprezentare a numerelor (numai sub forma directă cod) operațiune de adiție este realizată printr-un algoritm suficient de complicat. În cazul în care un număr negativ reprezentat ca un cod personalizat, operațiunea plus, inclusiv un semn diferit, acesta este redus la adăugarea de bitwise. Pentru reprezentarea pe calculator a numerelor întregi este utilizat în mod obișnuit una, două sau patru octeți, adică, celula de memorie va consta din opt, șaisprezece, sau treizeci și doi biți, respectiv.
Algoritmul de obținere a unui număr negativ de cod suplimentar. Pentru codul adițional k-biți număr negativ este necesar
număr negativ prezintă o sursă directă în k biți;
din totalul de biți pentru a inversa toate zerouri pe unitate pentru a înlocui și zerouri pe unitate (obținându-se astfel un cod invers k biți din numărul inițial);
codul invers rezultat pentru a adăuga unitate. Exemplul obține 8-biți numere de cod suplimentare -52:
00110100 - numărul de | -52 | = 52 în codul directă
11001011 - numărul de -52 în codul invers
11001100 - numărul de -52 în codul adițional poate fi remarcat faptul că reprezentarea unui număr întreg, nu este foarte convenabil pentru a reprezenta în binar, atât de des folosiți de reprezentare hexazecimală:
Reprezentarea numerelor reale în calculator.
Pentru a reprezenta numere reale în calculatoare acceptate astăzi mod de a reprezenta numere reale cu virgulă. Această metodă se bazează pe reprezentare normalizată numere reale (exponențială) de înregistrare. număr zecimal astfel de pre În ceea ce privește numerele întregi, numere reale în prezentarea unui sistem informatic binar este folosit cel mai des trebuie să fie traduse în sistem binar.
Reprezentarea numerelor în virgulă mobilă. Atunci când reprezentarea în virgulă mobilă descarcă parte din celule alocate pentru a înregistra numărul de ordine, nivelul rămas - pentru înregistrarea mantisei. Conform unui bit în fiecare grup este dat pentru o imagine de ordine și semn al semnului mantisă. Pentru a nu stoca semnul ordinului, acesta a fost inventat de așa-numita ordinea ectopică. care se calculează cu formula 2 + a-1 SP, unde un - număr de biți care urmează să fie alocate pentru procedura. Exemplu. Dacă este adevărat ordinea -5 este apoi dislocată numărul de ordine de 4 octeți este egal cu 127-5 = 122.
Algoritmul de numere în virgulă mobilă.
Traduceți numărul de p-Ary la Radix binare;
să prezinte un număr binar într-o formă exponențială normalizată;
se calculează numărul procedurii strămutate;
puneți un semn, procedura și mantisa la nivelul grilei respective.
Exemplu: Număr prezent -25.625 în aparat folosind o prezentare de 4 octeți (unde 1 bit este dată de semnul numărului, 8 biți - stramutate conform procedurii, biții rămași - o mantisă).
Se poate observa că reprezentarea unui număr real nu este foarte convenabil pentru a reprezenta în binar, atât de des folosiți de reprezentare hexazecimală:
Asker: C1CD0000.
Numerele de înregistrare 250.1875 reprezentare internă sub forma unui float.
1) dau un sistem binar cu 24 cifre semnificative: 250,187510 = 1111 1010. 0011 0000 0000 00002. 2) sub formă de scriere normlizovannogo numere binare cu virgulă mobilă: 1010 0,011 0000 .1111 0000 0000 * 102 1000. Aici mantisă radix (210 = 102) și procedura (810 = 10002) sunt scrise în binar. 3) calcula comanda motorului în notație binară: MP2 = 1000 + 100 0000 = 100 1000. 4) scrie reprezentarea grafică a unei celule de memorie de 4 octeți, cu numărul de caractere:
Hexadecimal: 48FA3000.
Șapte numere binare biți binare plasat în intervalul de la 0000000 la 1111111. Prin urmare, ordinea mașinii este schimbată în intervalul 0 până la 127 alineatul (decimal). Doar 128 valori. Procedura poate fi, evident, atât pozitive, cât și negative. Rezonabil aceste 128 valori împărțite în mod egal între ordine pozitive și negative znachenieyami -64-63.
Automată de compensare ordine relativă matematică și are doar valori pozitive. Decalajul este aleasă astfel încât valoarea minimă a comenzii matematice zero, se potrivesc.
Comunicarea dintre ordinul motorului (Mp) și matematică (p), în acest caz, este exprimat prin formula: PT = p + 64
Formula rezultată este scris în sistemul zecimal. În sistemul binar, formula este: MP2 = p2 10000002 Pentru a înregistra reprezentarea internă a unui număr real într-o celulă de 4 octeți trebuie: 1) Modul de transfer într-un anumit număr de sistem binar cu 24 cifre semnificative; 2) normalizează numărul binar; 3) Găsiți o mașină în ordine în sistem binar; 4), având în vedere semnul numărului, scrie reprezentarea în mașină cuvântul 4 octet.