Reprezentarea numerelor pe computer. Format virgulă mobilă Pentru reprezentarea numerelor negative, utilizați

30.12.2020 Siguranță

Subiect: Reprezentarea numerelor pe computer. Format fix și în virgulă mobilă. Cod direct, invers și complementar.

Repetiţie: Conversia numerelor întregi în sistem de numere binar:

13 10 = A 2 De asemenea:

13 10 =1101 2

1345 10 =10101000001 2


Reprezentarea numerelor întregi într-un calculator.

Toate informațiile procesate de computere sunt stocate în formă binară. Cum se realizează această depozitare?

Informațiile introduse în computer și generate în timpul funcționării acestuia sunt stocate în memoria acestuia. Vă puteți gândi la memoria unui computer ca la o pagină lungă formată din linii individuale. Fiecare astfel de linie este numită celula de memorie .

Celula – aceasta este o parte a memoriei computerului care conține informații disponibile pentru procesare echipa separata procesor. Celula de memorie minimă adresabilă se numește octet - 8 cifre binare. Numărul de secvență al unui octet este numit abordare .

celulă (8 biți = 1 octet)

cuvânt mașină.

O celulă de memorie este formată dintr-un anumit număr de elemente omogene. Fiecare element este capabil să fie într-una din cele două stări și servește la reprezentarea uneia dintre cifrele unui număr. De aceea fiecare element al celulei este numit deversare . Numerotarea cifrelor dintr-o celulă se face de obicei de la dreapta la stânga, cifra cea mai din dreapta are un număr de serie 0. Aceasta este cifra de ordin inferioară a celulei de memorie, cifra cea mai semnificativă are un număr de serie (n-1) în o celulă de memorie de n biți.

Conținutul oricărui bit poate fi fie 0, fie 1.

Conținutul unei celule de memorie este numit cuvânt mașină. Celula de memorie este împărțită în cifre, fiecare dintre ele stochează o cifră a unui număr.

De exemplu, cel mai modern calculatoare personale sunt pe 64 de biți, adică un cuvânt de mașină și, în consecință, o celulă de memorie, constă din 64 de biți sau biți.

Pic - unitatea minimă de măsură a informaţiei. Fiecare bit poate fi 0 sau 1. Bate numit si deversare celule de memorie de calculator.

Dimensiunea standard a celei mai mici celule de memorie este de opt biți, adică opt cifre binare. Un set de 8 biți este unitatea de bază a reprezentării datelor - un octet.

octet (din engleză octet - silabă) - parte a unui cuvânt mașină, constând din 8 biți, procesată într-un computer ca un întreg. Pe ecran există o celulă de memorie formată din 8 biți - acesta este un octet. Cifra cea mai puțin semnificativă are un număr de serie 0, cea mai semnificativă cifră are un număr de serie 7.

8 biți = 1 octet

Sunt utilizate două formate pentru a reprezenta numerele din memoria computerului: format punct fix Și format virgulă mobilă . Reprezentat în format fix numai numere întregi , în format virgulă mobilă – numere reale (fracționale).

În marea majoritate a problemelor rezolvate cu ajutorul unui calculator, multe acțiuni se reduc la operații pe numere întregi. Aceasta include probleme de natură economică, în care datele sunt numărul de acțiuni, angajați, piese, vehicule etc. Numerele întregi sunt folosite pentru a indica datele și orele și pentru a numerota diverse obiecte: elemente de matrice, intrări în baze de date, adrese de mașini etc.

Numerele întregi pot fi reprezentate într-un computer ca semnate sau nesemnate (pozitive sau negative).

numere întregi fără semn de obiceiocupă unul sau doi octeți în memorieși acceptă valori de la 00000000 în format pe un singur octet 2 până la 11111111 2 și în format dublu octet - de la 00000000 00000000 2 la 11111111 11111111 2 .

Numerele întregi semnate de obicei ocupă unul, doi sau patru octeți în memoria computerului, bitul din stânga (cel mai semnificativ) conține informații despre semnul numărului. Semnul plus este codificat ca zero, iar semnul minus ca unu.

1101 2 10101000001 2

Cifra atribuită semnului

(in acest caz +)

Cei mai semnificativi biți care lipsesc întregului octet sunt umpluți cu zerouri.

ÎN tehnologia calculatoarelor Sunt utilizate trei forme de înregistrare (codificare) a numerelor întregi cu semn:Drept cod , înapoi cod , adiţional cod .

Cod direct este o reprezentare a unui număr în sistemul numeric binar, cu prima cifră atribuită semnului numărului. Dacă numărul este pozitiv, atunci prima cifră este 0; dacă numărul este negativ, prima cifră este una.

De fapt, codul direct este folosit aproape exclusiv pentru numere pozitive.Pentru a scrie un cod numeric direct, aveți nevoie de:

    Reprezentați un număr în binar

    Adăugați zerouri la penultima cifră cea mai semnificativă a unei celule de 8 biți sau 16 biți

    Completați cea mai semnificativă cifră cu zero sau unu, în funcție de semnul numărului.

Exemplu: numărul 3 10 în cod direct într-un format de un singur octet va fi prezentat ca:


hislo -3 10 în codul direct al unui format de un singur octet arată astfel:


Cod de returnare pentru un număr pozitiv din sistemul numeric binar coincide cu codul direct. Pentru un număr negativ, toate cifrele numărului sunt înlocuite cu opuse (1 cu 0, 0 cu 1)inversa, iar unul este introdus în cifra semnului.

Pentru numerele negative se folosește așa-numitul cod de complement. Acest lucru se datorează confortului efectuării operațiunilor pe numere cu tehnologie computerizată.

Cod suplimentar folosit în primul rând pentru a reprezenta numere negative într-un computer. Acest cod face operațiile aritmetice mai convenabile de efectuat de către computere.

În codul complementar, precum și în codul direct, prima cifră este alocată pentru a reprezenta semnul numărului. Codurile directe și complementare pentru numerele pozitive sunt aceleași. Deoarece codul direct este folosit aproape exclusiv pentru a reprezenta numere pozitive, iar codul complement este folosit pentru numere negative, atunci aproape întotdeauna, dacă există un 1 în prima cifră, atunci avem de-a face cu un cod complementar. (Zeroul denotă un număr pozitiv, iar unul este un număr negativ).

Algoritm pentru obținerea codului de complement pentru un număr negativ:

1. Găsiți codul direct al numărului (convertiți numărul în sistemul de numere binar, un număr nesemnat)

2. Obțineți un cod de retur. Schimbați fiecare zero în unu și fiecare cu zero (inversați numărul)

3. Adăugați 1 la codul invers

Exemplu: Să găsim codul suplimentar al numărului zecimal - 47 în format de 16 biți.

    Să găsim reprezentarea binară a numărului 47 (cod direct).

2. Inversați acest număr (cod invers). 3. Adăugați 1 la codul invers și obțineți o înregistrare a acestui număr în RAM.

Important!

Pentru numerele pozitive, codurile directe, inverse și complementare sunt același lucru, adică. cod direct. Nu este nevoie să inversați numerele pozitive pentru a le reprezenta pe un computer!

De ce este folosit?cod suplimentar pentru a reprezenta un număr negativ?

Acest lucru facilitează efectuarea operațiilor matematice. De exemplu, avem două numere reprezentate în cod direct. Un număr este pozitiv, celălalt este negativ și aceste numere trebuie adăugate. Cu toate acestea, nu le puteți plia pur și simplu. Mai întâi computerul trebuie să descopere care sunt numerele. După ce a aflat că un număr este negativ, ar trebui să înlocuiască operația de adunare cu operația de scădere. Apoi, mașina trebuie să determine ce număr este mai mare în valoare absolută pentru a afla semnul rezultatului și a decide ce să scadă din ce. Rezultatul este un algoritm complex. Este mult mai ușor să adăugați numere dacă cele negative sunt convertite în complement a doi.

Sarcina practica:

Exercitiul 1. Scrieți codurile înainte, înapoi și complement ale următoarelor numere zecimale folosind8 bițicelula:

64 10, - 120 10

Sarcina 2. Scrieți codurile înainte, invers și complement ale următoarelor numere zecimale într-o grilă de 16 biți

57 10 - 117 10 - 200 10

Numerele reale în calculele matematice nu au restricții cu privire la intervalul și precizia reprezentării numerelor. Cu toate acestea, în computere, numerele sunt stocate în registre și locații de memorie cu un număr limitat de cifre. De aceea precizie reprezentare numere reale, imaginabil într-o mașină, este finită și intervalul este limitat.

Când scrieți numere reale în programe, este obișnuit să folosiți un punct în loc de virgula obișnuită. Orice număr real poate fi reprezentat sub formă de numere cu ordinea centrală a sistemului numeric.

Exemplul 4.4. Numărul zecimal 1,756 sub formă de scriere a numerelor cu ordinea de bază a sistemului numeric poate fi reprezentat după cum urmează:

1.756 . 10 0 = 0.1756 . 10 1 = 0.01756 . 10 2 = ...

17.56 . 10 -1 = 175.6 . 10 -2 = 1756.0 . 10 -3 = ... .

Reprezentare în virgulă mobilă numită reprezentare a numărului N într-un sistem numeric cu bază q la fel de :

N = m*. q p ,

Unde m - un multiplicator care conține toate cifrele numărului (mantișă), p - un număr întreg numit ordine.

Dacă punctul „plutitor” este situat în mantise înainte de prima cifră semnificativă, atunci cu un număr fix de cifre alocat mantisei, înregistrarea este asigurată cantitate maxima cifre semnificative ale unui număr, adică precizia maximă a reprezentării unui număr într-o mașină.

Dacă în mantise prima cifră după punct (virgulă) este diferită de zero, atunci un astfel de număr se numește normalizat .

Mantissa și ordinea q Este obișnuit să scrieți un număr -ary în sistemul radix q , iar baza în sine este în sistemul zecimal.

Exemplul 4.5. Iată exemple de reprezentare normalizată a unui număr în sistemul zecimal:

2178.01 =0.217801 * 10 4

0.0045 =0.45 * 10 -2

Exemple în binar:

10110,01= 0,1011001 * 2 101 (comanda 101 2 = 5 10)

Calculatoarele moderne acceptă mai multe formate standard internaționale pentru stocarea numerelor reale în virgulă mobilă, care variază în precizie, dar toate au aceeași structură. Un număr real este stocat în trei părți: semnul mantisei, ordinea deplasată și mantisa:

Caracteristică n-bit numărul normalizat se calculează după cum urmează: dacă ordinul este alocat k cifre, apoi se adaugă un offset egal cu (2 k -1 -1) la valoarea adevărată a ordinului reprezentat în codul complementului celor doi.

Astfel, o comandă care ia valori în intervalul de la -128 la +127 este convertită într-o comandă părtinitoare în intervalul 0 la 255. Ordinul părtinitor este stocat ca un număr fără semn, ceea ce simplifică operațiile de comparare, adunare și scădere a comenzilor. , și, de asemenea, simplifică operațiunea de comparare a numerelor normalizate în sine.

Numărul de cifre alocate comenzii afectează intervalul de la cel mai mic număr diferit de zero până la cel mai mare număr reprezentabil în mașină, dat fiind formatul. Evident, cu cât mai multe cifre sunt alocate mantisei, cu atât este mai mare acuratețea reprezentării numerelor. Datorită faptului că, pentru numerele reale normalizate, bitul cel mai semnificativ al mantisei este întotdeauna 1, acest bit cel mai semnificativ nu este stocat în memorie.

Orice număr întreg binar care conține cel mult m cifre, pot fi convertite în format real fără distorsiuni.

Tabelul 4.3. Formate standard pentru reprezentarea numerelor reale

Exemplul 4.6. Reprezentarea numerelor normalizate într-un singur format.

Să ilustrăm cum va fi stocat numărul 37.16 10. La convertirea într-un număr binar, nu rezultă o translație exactă a lui 100101,(00101000111101011100) - partea fracțională cuprinsă între paranteze se repetă în perioada.

Transformăm numărul în formă normalizată: 0,100101(00101000111101011100) * 2 110

Să reprezentăm un număr real în format de 32 de biți:

1. Semnul numărului este „+”, așa că introducem 0 în bitul de semn (31);

2. Pentru a seta ordinea sunt alocați 8 biți, la valoarea adevărată a ordinii prezentate în codul complementar se adaugă offset-ul (2 7 -1) = 127. Deoarece comanda este pozitivă, codul de comandă directă coincide cu comanda suplimentară, să calculăm ordinea deplasată: 00000110 + 01111111=10000101

Introducem ordinea deplasată rezultată.

3. Intrăm în mantise, în timp ce eliminăm cea mai semnificativă cifră a mantisei (este întotdeauna egală cu 1);

ordine schimbată

mantisa

ÎN în acest exemplu am putut transfera doar 24 de biți, restul s-au pierdut cu o pierdere de precizie în reprezentarea numărului.

Datele numerice sunt procesate într-un computer folosind sistemul de numere binar. Numerele sunt stocate în memoria computerului în cod binar, adică ca o secvență de zerouri și unu, și pot fi reprezentate în format fix sau flotant.

Numerele întregi sunt stocate în memorie în format fix. Cu acest format pentru reprezentarea numerelor, un registru de memorie format din opt celule de memorie (8 biți) este alocat pentru stocarea numerelor întregi nenegative. Fiecare cifră a unei celule de memorie corespunde întotdeauna aceleiași cifre a numărului, iar virgula este situată în dreapta după cifra cea mai puțin semnificativă și în afara grilei de cifre. De exemplu, numărul 110011012 ar fi stocat într-un registru de memorie după cum urmează:

Tabelul 4

Valoarea maximă a unui număr întreg nenegativ care poate fi stocat într-un registru în format de virgulă fixă ​​poate fi determinată din formula: 2n – 1, unde n este numărul de cifre ale numărului. Numărul maxim va fi egal cu 28 - 1 = 25510 = 111111112 și minimul 010 = 000000002. Astfel, intervalul de modificări ale numerelor întregi nenegative va fi de la 0 la 25510.

Spre deosebire de sistemul zecimal, sistemul de numere binar în reprezentarea computerizată a unui număr binar nu are simboluri care să indice semnul numărului: pozitiv (+) sau negativ (-), prin urmare, pentru a reprezenta numere întregi cu semn în sistemul binar, două se folosesc formate de reprezentare a numerelor: formatul valorii numerelor semnate și formatul complementului a doi. În primul caz, două registre de memorie (16 biți) sunt alocate pentru stocarea numerelor întregi cu semn, iar cifra cea mai semnificativă (cel mai din stânga) este folosită ca semn al numărului: dacă numărul este pozitiv, atunci 0 este scris în bitul de semn. , dacă numărul este negativ, atunci 1. De exemplu, numărul 53610 = 00000010000110002 va fi reprezentat în registrele de memorie sub următoarea formă:

Tabelul 5

și un număr negativ -53610 = 10000010000110002 sub forma:

Tabelul 6

Numărul maxim pozitiv sau numărul minim negativ în formatul valorii numărului cu semn (ținând cont de reprezentarea unei cifre pe semn) este 2n-1 – 1 = 216-1 – 1 = 215 – 1 = 3276710 = 11111111111111112 și intervalul de numere va fi de la - 3276710 la 32767.

Cel mai adesea, pentru a reprezenta numerele întregi cu semne în sistemul binar, se utilizează formatul de cod complementar al celor două, care vă permite să înlocuiți operația aritmetică de scădere într-un computer cu o operație de adunare, care simplifică semnificativ structura microprocesorului și crește performanța acestuia. .

Pentru a reprezenta numerele întregi negative în acest format, se folosește codul complement a doi, care este modulul unui număr negativ la zero. Conversia unui întreg negativ în complement a doi se realizează folosind următoarele operații:


1) scrieți modulul numărului în cod direct în n (n = 16) cifre binare;

2) obțineți codul invers al numărului (inversați toate cifrele numărului, adică înlocuiți toate cifrele cu zerouri și zerourile cu unu);

3) adăugați una la cifra cea mai puțin semnificativă la codul invers rezultat.

De exemplu, pentru numărul -53610 în acest format, modulul va fi 00000010000110002, codul reciproc va fi 1111110111100111, iar codul suplimentar va fi 1111110111101000.

Trebuie amintit că complementul unui număr pozitiv este numărul însuși.

Pentru a stoca numere întregi cu semne altele decât reprezentarea computerului pe 16 biți atunci când este utilizat două registre de memorie(acest format de numere se mai numește și format de număr întreg cu semn scurt), sunt folosite formatele întregi cu semn mediu și lung. Pentru a reprezenta numerele în formatul numărului mijlociu se folosesc patru registre (4 x 8 = 32 de biți), iar pentru a reprezenta numerele în formatul numărului lung se folosesc opt registre (8 x 8 = 64 de biți). Intervalele de valori pentru formatele de număr mediu și lung vor fi, respectiv: -(231 – 1) ... + 231 – 1 și -(263-1) ... + 263 – 1.

Reprezentarea computerizată a numerelor în format punct fix are avantajele și dezavantajele sale. LA beneficii includ simplitatea reprezentării numerelor și algoritmi pentru implementarea operațiilor aritmetice; dezavantajele sunt gama finită de reprezentare a numerelor, care poate fi insuficientă pentru rezolvarea multor probleme de natură practică (matematice, economice, fizice etc.).

Numerele reale (zecimale finite și infinite) sunt procesate și stocate într-un computer în format virgulă mobilă. Cu acest format de reprezentare a numărului, poziția punctului zecimal în intrare se poate modifica. Orice număr real K în format virgulă mobilă poate fi reprezentat ca:

unde A este mantisa numărului; h – baza sistemului numeric; p – ordinea numerelor.

Expresia (2.7) pentru sistemul numeric zecimal va lua forma:

pentru binar -

pentru octal -

pentru hexazecimal -

Această formă de reprezentare a numerelor se mai numește normal . Odată cu schimbarea în ordine, virgula din număr se deplasează, adică pare să plutească spre stânga sau spre dreapta. De aceea formă normală sunt numite reprezentări ale numerelor formă în virgulă mobilă. Numărul zecimal 15,5, de exemplu, în format virgulă mobilă poate fi reprezentat ca: 0,155 102; 1,55 101; 15,5 100; 155,0 10-1; 1550,0 10-2 etc. Această formă de virgulă mobilă zecimală 15,5 nu este folosită la scriere programe de calculatorși introducerea lor într-un computer (dispozitivele de intrare pe computer percep doar înregistrarea liniară a datelor). Pe baza acesteia, expresia (2.7) pentru reprezentarea numerelor zecimale și introducerea lor în computer este convertită în forma

unde P este ordinea numărului,

adică, în locul bazei sistemului numeric 10, ei scriu litera E, în loc de virgulă, punct, iar semnul înmulțirii nu este plasat. Astfel, numărul 15,5 în virgulă mobilă și format liniar (reprezentare pe computer) se va scrie ca: 0,155E2; 1,55E1; 15,5E0; 155,0E-1; 1550.0E-2 etc.

Indiferent de sistemul numeric, orice număr sub formă de virgulă mobilă poate fi reprezentat printr-un număr infinit de numere. Această formă de înregistrare se numește nenormalizat . Pentru o reprezentare fără ambiguitate a numerelor în virgulă mobilă, se utilizează o formă normalizată de scriere a unui număr, în care mantisa numărului trebuie să îndeplinească condiția

unde |A| - valoarea absolută a mantisei numărului.

Condiția (2.9) înseamnă că mantisa trebuie să fie o fracție proprie și să aibă o cifră diferită de zero după virgulă, sau, cu alte cuvinte, dacă mantisa nu are un zero după virgulă, atunci numărul se numește normalizat. . Deci, numărul 15,5 în formă normalizată (mantisă normalizată) în formă de virgulă mobilă va arăta astfel: 0,155 102, adică mantisa normalizată va fi A = 0,155 și ordinul P = 2, sau în reprezentarea computerizată a numărului 0,155E2 .

Numerele în virgulă mobilă au un format fix și ocupă patru (32 de biți) sau opt octeți (64 de biți) din memoria computerului. Dacă un număr ocupă 32 de biți în memoria computerului, atunci este un număr obișnuit de precizie; dacă este de 64 de biți, atunci este un număr de precizie dublă. Când se scrie un număr în virgulă mobilă, biții sunt alocați pentru a stoca semnul mantisei, semnul exponentului, mantisei și exponentului. Numărul de cifre alocat ordinii numărului determină gama de variație a numerelor, iar numărul de cifre alocat pentru stocarea mantisei determină precizia cu care este specificat numărul.

Atunci când se efectuează operații aritmetice (adunare și scădere) pe numere prezentate în format virgulă mobilă, se implementează următoarea procedură (algoritm):

1) ordinea numerelor pe care se efectuează operațiile aritmetice este aliniată (ordinea unui număr absolut mai mic crește la ordinea unui număr absolut mai mare, în timp ce mantisa scade cu aceeași cantitate);

2) se efectuează operații aritmetice pe mantisele numerelor;

3) rezultatul obținut este normalizat.

Partea practică

| Planificarea lecțiilor pentru anul universitar (FSES) | § 1.2. Reprezentarea numerelor într-un computer

Lecțiile 6 - 7
§ 1.2. Reprezentarea numerelor într-un computer

Cuvinte cheie:

Descarcare
reprezentare întreg fără semn
reprezentare întreg cu semn
reprezentarea numerelor reale

1.2.1. Reprezentare intreg

RAM-ul computerului este format din celule, fiecare dintre acestea reprezentând sistem fizic, format dintr-un anumit număr de elemente omogene. Aceste elemente au două stări stabile, dintre care una corespunde zero, iar cealaltă uneia. Fiecare astfel de element este folosit pentru a stoca unul dintre biți - o cifră a unui număr binar. De aceea fiecare element de celulă este numit bit sau cifră (Fig. 1.2).

Orez. 1.2. Celula de memorie

Pentru reprezentarea computerizată a numerelor întregi, se folosesc mai multe metode diferite, care diferă unele de altele prin numărul de cifre (numărul întregi sunt de obicei alocate 8, 16, 32 sau 64 de cifre) și prezența sau absența unei cifre semn. Reprezentarea fără semn poate fi utilizată numai pentru numere întregi nenegative; numerele negative pot fi reprezentate numai sub formă de semn.

Reprezentarea nesemnată este utilizată pentru obiecte precum adresele celulelor, diferite contoare (de exemplu, numărul de caractere din text), precum și numerele care indică data și ora, dimensiunile imagini graficeîn pixeli etc.

Valoarea maximă a unui număr întreg nenegativ este atinsă atunci când toți biții celulei îi conțin. Pentru reprezentarea pe n biți va fi egal cu 2 n -1. Numărul minim corespunde la n zerouri stocate în n biți de memorie și este egal cu zero.

Următoarele sunt valorile maxime pentru numerele întregi fără semn pe n biți:

Pentru a obține o reprezentare computerizată a unui întreg fără semn, este suficient să convertiți numărul în sistemul de numere binar și să completați rezultatul rezultat din stânga cu zerouri la capacitatea de cifre standard.

Exemplul 1. Numărul 53 10 = 110101 2 în reprezentare din opt cifre are forma:

Același număr 53 din șaisprezece cifre va fi scris după cum urmează:

Când este reprezentată cu un semn, cea mai semnificativă cifră (stânga) este atribuită semnului numărului, cifrele rămase sunt atribuite numărului însuși. Dacă numărul este pozitiv, atunci 0 este plasat în bitul de semn, dacă numărul este negativ - 1. Această reprezentare a numerelor se numește cod direct.

În computere, codurile directe sunt folosite pentru a stoca numere pozitive în dispozitivele de stocare pentru a efectua operațiuni pe numere pozitive.

Site-ul web al Centrului Federal pentru Informații și Resurse Educaționale (http://fcior.edu.ru/) conține modulul de informații „Numărul și codul său de calculator”. Cu această resursă puteți obține Informații suplimentare pe tema studiată.

Pentru a efectua operații pe numere negative, se folosește un cod suplimentar pentru a înlocui operația de scădere cu adunarea. Puteți afla algoritmul pentru generarea unui cod suplimentar folosind modulul de informații „Cod suplimentar” aflat pe site-ul web al Centrului Federal pentru Informații și Resurse Educaționale (http://fcior.edu.ru/).

1.2.2. Reprezentarea numerelor reale

Orice număr real A poate fi scris în formă exponențială:

Unde:

m - mantisa numărului;

p - ordinea numerelor.

De exemplu, numărul 472 LLC LLC poate fi reprezentat astfel: 4,72 10 8, 47,2 10 7, 472,0 10 6 etc.

S-ar putea să fi întâlnit forma exponențială a scrierii numerelor atunci când efectuați calcule folosind un calculator, când ați primit intrări de următoarea formă ca răspuns: 4.72E+8.

Aici, semnul „E” denotă baza sistemului numeric zecimal și este citit ca „înmulțire cu zece la putere”.

Din exemplul de mai sus, puteți vedea că poziția punctului zecimal într-un număr se poate modifica.

Pentru consecvență, mantisa este de obicei scrisă ca o fracție proprie cu o cifră diferită de zero după virgulă. În acest caz, numărul 472 LLC LLC va fi reprezentat ca 0,472 10 9.

Un număr real poate ocupa 32 sau 64 de biți în memoria computerului. În acest caz, biții sunt alocați pentru a stoca semnul mantisei, semnul comenzii, ordinea și mantisa.

Exemplu:

Gama de reprezentare a numerelor reale este determinată de numărul de biți alocați pentru a stoca ordinea numărului, iar precizia este determinată de numărul de biți alocați pentru a stoca mantisa.

Valoarea maximă a ordinii numerelor pentru exemplul de mai sus este 1111111 2 = 127 10 și, prin urmare, valoarea maximă a numărului este:

0,11111111111111111111111 10 1111111

Încercați să vă dați seama singur care este echivalentul zecimal al acestei valori.

O gamă largă de reprezentări ale numerelor reale este importantă pentru rezolvarea problemelor științifice și de inginerie. În același timp, trebuie înțeles că algoritmii de procesare a unor astfel de numere necesită mai multă muncă în comparație cu algoritmii de procesare a numerelor întregi.

CEL MAI IMPORTANT

Pentru a reprezenta numerele întregi pe un computer, se folosesc mai multe metode diferite, care diferă unele de altele prin numărul de cifre (8, 16, 32 sau 64) și prezența sau absența unei cifre semn.

Pentru a reprezenta un întreg fără semn, acesta ar trebui convertit în sistemul de numere binar, iar rezultatul rezultat ar trebui să fie completat în stânga cu zerouri la capacitatea standard.

Când este reprezentată cu un semn, cea mai semnificativă cifră este atribuită semnului numărului, cifrele rămase sunt atribuite numărului însuși. Dacă numărul este pozitiv, atunci 0 este plasat în bitul semn, dacă numărul este negativ, atunci 1. Numerele pozitive sunt stocate în computer în cod direct, numerele negative în cod complementar.

Când se stochează numere reale într-un computer, biții sunt alocați pentru a stoca semnul ordinii numărului, ordinea în sine, semnul mantisei și mantisei. În acest caz, orice număr este scris astfel:

Unde:

m - mantisa numărului;
q - baza sistemului numeric;
p - ordinea numerelor.

Întrebări și sarcini

1. Citiți materialele de prezentare pentru paragraful conținute în anexa electronică la manual. Utilizați aceste materiale atunci când pregătiți răspunsurile la întrebări și finalizați temele.

2. Cum sunt reprezentate numerele întregi pozitive și negative în memoria computerului?

3. Orice număr întreg poate fi considerat un număr real, dar cu o parte fracțională zero. Justificați fezabilitatea de a avea modalități speciale de reprezentare computerizată a numerelor întregi.

4. Reprezentați numărul 63 10 în format nesemnat pe 8 biți.

5. Găsiți echivalentele zecimale ale numerelor folosind codurile lor directe, scrise în format semnat pe 8 biți:

a) 01001100;
b) 00010101.

6. Care dintre numerele 443 8, 101010 2, 256 10 poate fi stocat în format de 8 biți?

7. Scrie următoarele numere în formă naturală:

a) 0,3800456 10 2;
b) 0,245 10 -3;
c) 1,256900E+5;
d) 9,569120E-3.

8. Scrieți numărul 2010.0102 10 ca cinci căi diferiteîn formă exponenţială.

9. Scrieți următoarele numere în formă exponențială cu o mantisă normalizată - o fracție proprie care are o cifră diferită de zero după virgulă:

a) 217,934 10;
b) 75321 10;
c) 0,00101 10.

10. Desenați o diagramă care conectează conceptele de bază discutate în acest paragraf.

În tehnologia computerelor, numerele reale (spre deosebire de numerele întregi) sunt numere care au o parte fracțională.

Când le scriu În loc de virgulă, se obișnuiește să scrieți un punct. Deci, de exemplu, numărul 5 este un întreg, iar numerele 5.1 și 5.0 sunt reale.

Pentru comoditatea afișării numerelor care iau valori dintr-o gamă destul de largă (adică atât foarte mici, cât și foarte mari), forma de scriere a numerelor cu ordinea de bază a sistemului de numere. De exemplu, numărul zecimal 1,25 poate fi reprezentat în această formă după cum urmează:

1.25*10 0 = 0.125*10 1 = 0.0125*10 2 = ... ,
sau cam asa:
12.5*10 -1 = 125.0*10 -2 = 1250.0*10 -3 = ... .

Dacă punctul „plutitor” este situat în mantise înainte de prima cifră semnificativă, atunci cu un număr fix de cifre alocat mantisei, se înregistrează numărul maxim de cifre semnificative ale numărului, adică precizia maximă a numărului. reprezentare în mașină. Prin urmare:

Această reprezentare a numerelor reale, care este cea mai benefică pentru un computer, se numește normalizat.

Mantisa și ordinea unui număr q-ary sunt de obicei scrise în sistemul cu baza q, iar baza în sine este scrisă în sistemul zecimal.

Exemple de reprezentare normalizată:

Sistem zecimal Sistem binar

753,15 = 0,75315*103; -101,01 = -0,10101*2 11 (comanda 11 2 = 3 10)

0,000034 = -0,34*10 -4; -0,000011 = 0,11*2 -100 (comanda -100 2 = -410)

Numerele reale sunt scrise diferit în diferite tipuri de computere. În acest caz, computerul oferă de obicei programatorului posibilitatea de a alege dintre mai multe formate de numere cele mai potrivite pentru o anumită sarcină - folosind patru, șase, opt sau zece octeți.

De exemplu, iată caracteristicile formatelor de numere reale utilizate de computerele personale compatibile cu IBM:

Formate de numere reale Dimensiunea în octeți Interval aproximativ al valorilor absolute Numărul de cifre zecimale semnificative
Singur 4 10 -45 ... 10 38 7 sau 8
Real 6 10 -39 ... 10 38 11 sau 12
Dubla 8 10 -324 ... 10 308 15 sau 16
Avansat 10 10 -4932 ... 10 4932 19 sau 20

Din acest tabel se poate observa că forma de reprezentare a numerelor în virgulă mobilă vă permite să scrieți numere cu mare precizie și dintr-o gamă foarte largă.

Când se stochează numere în virgulă mobilă, acestea sunt alocate cifre pentru mantise, exponent, semn numeric și semn exponent:

Să arătăm cu exemple cum unele numere sunt scrise într-o formă normalizată într-un format de patru octeți cu șapte biți pentru a înregistra ordinea.

1. Numărul 6,25 10 = 110,01 2 = 0,11001

  • 2 11:

2. Numărul -0,125 10 = -0,0012 = -0,1*2 -10 (ordinea negativă se scrie în complement a doi):