Reprezentarea numerelor într-un calculator 8. Tipuri de date. Forme de reprezentare a numerelor. Tipuri booleene. Reprezentarea numerelor reale într-un calculator

Oricine s-a gândit vreodată să devină „specialist IT” sau administrator de sistemși pur și simplu legarea soartei cuiva cu cunoașterea modului în care sunt reprezentate numerele este absolut necesară. La urma urmei, pe asta se bazează limbajele de programare. nivel scăzut, cum ar fi Assembler. Prin urmare, astăzi ne vom uita la reprezentarea numerelor într-un computer și plasarea lor în celulele de memorie.

Notaţie

Daca citesti Acest articol, atunci cel mai probabil știți deja despre asta, dar merită repetat. Toate datele de pe un computer personal sunt stocate în binar. Aceasta înseamnă că orice număr trebuie reprezentat în forma corespunzătoare, adică format din zerouri și unu.

Pentru a ne traduce familiarul numere zecimale la vedere calculatorul de înțeles, trebuie să utilizați algoritmul descris mai jos. Există și calculatoare specializate.

Deci, pentru a converti numărul în sistem binar calcul, trebuie să luăm valoarea pe care am ales-o și să o împărțim la 2. După aceasta, vom obține rezultatul și restul (0 sau 1). Împărțim rezultatul din nou la 2 și ne amintim restul. Această procedură trebuie să repetăm ​​până când rezultatul final este, de asemenea, 0 sau 1. Apoi notăm valoarea finală și resturile în ordine inversă pe măsură ce le-am primit.

Exact așa sunt reprezentate numerele într-un computer. Orice număr este scris în formă binară și apoi ocupă o celulă de memorie.

Memorie

După cum ar trebui să știți deja, unitate minimă informația de măsurare este de 1 bit. După cum am aflat deja, numerele sunt reprezentate într-un computer în format binar. Astfel, fiecare bit de memorie va fi ocupat de o valoare - 1 sau 0.

Celulele sunt folosite pentru depozitare. Fiecare astfel de unitate conține până la 8 biți de informații. Prin urmare, putem concluziona că valoarea minimă din fiecare segment de memorie poate fi de 1 octet sau poate fi un număr binar de opt cifre.

Întreg

În cele din urmă ajungem la plasarea directă a datelor în computer. După cum am menționat deja, primul lucru pe care îl face procesorul este să convertească informațiile în format binar și abia apoi să le plaseze în memorie.

Să începem de la bun început varianta simpla, care este reprezentarea numerelor întregi într-un computer. Memoria PC-ului alocă un număr ridicol de mic de celule pentru acest proces - doar una. Astfel, maximum un slot poate conține valori de la 0 la 11111111. Să convertim numărul maxim în forma de notație cu care suntem familiarizați.
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 × 2 8 - 1 = 255 .

Acum vedem că o celulă de memorie poate conține o valoare de la 0 la 255. Totuși, acest lucru se aplică exclusiv numerelor întregi nenegative. Dacă computerul trebuie să scrie o valoare negativă, totul va funcționa puțin diferit.

Numerele negative

Acum să vedem cum sunt reprezentate numerele într-un computer dacă sunt negative. Pentru a găzdui o valoare mai mică decât zero, sunt alocate două celule de memorie sau 16 biți de informații. În acest caz, 15 trece sub numărul în sine, iar primul bit (cel mai din stânga) este dat sub semnul corespunzător.

Dacă numărul este negativ, atunci se scrie „1”, dacă este pozitiv, atunci „0”. Pentru a fi mai ușor de reținut, putem trage următoarea analogie: dacă există un semn, atunci punem 1, dacă nu este acolo, atunci nimic (0).

Restul de 15 biți de informații sunt alocați numărului. Similar cu cazul precedent, acestea pot găzdui maximum cincisprezece unități. Este de remarcat faptul că înregistrarea numerelor negative și pozitive este semnificativ diferită una de cealaltă.

Pentru a plasa o valoare mai mare sau egală cu zero în 2 celule de memorie, se folosește așa-numitul cod direct. Această operațiune se efectuează în același mod ca cel descris, iar maximul A = 32766, dacă este utilizat, aș dori să notez imediat că în acest caz „0” se referă la pozitiv.

Exemple

Reprezentarea numerelor întregi în memoria computerului nu este o sarcină atât de dificilă. Deși devine puțin mai complicat dacă despre care vorbim despre sensul negativ. Pentru a scrie un număr mai mic decât zero, se folosește codul de complement doi.

Pentru a-l obține, mașina efectuează o serie de operații auxiliare.

  1. În primul rând, modulul unui număr negativ este scris în notație binară. Adică, computerul își amintește o valoare similară, dar pozitivă.
  2. Apoi fiecare bit de memorie este inversat. Pentru a face acest lucru, toate cele sunt înlocuite cu zerouri și invers.
  3. Adăugați „1” la rezultat. Acesta va fi codul suplimentar.

Să dăm un exemplu clar. Să avem un număr X = - 131. Mai întâi obținem modulul |X|= 131. Apoi îl convertim în sistem binar și îl scriem în 16 celule. Se obține X = 0000000010000011. După inversare, X = 1111111101111100. Adăugăm „1” la acesta și obținem codul de returnare X=1111111101111101. Pentru a scrie într-o celulă de memorie de 16 biți, numărul minim este X = - (2 15) = - 32767.

numere întregi lungi

După cum puteți vedea, performanța numere reale Nu este atât de greu pe computer. Cu toate acestea, intervalul considerat poate să nu fie suficient pentru majoritatea operațiunilor. Prin urmare, pentru a găzdui numere mari, computerul alocă 4 celule, sau 32 de biți, din memorie.

Procesul de înregistrare nu este absolut diferit de cel prezentat mai sus. Deci, vom oferi doar intervalul de numere care pot fi stocate în acest tip.

X max = 2.147.483.647.

X min = - 2 147 483 648.

În cele mai multe cazuri, aceste valori sunt suficiente pentru a înregistra și a efectua operațiuni cu date.

Reprezentarea numerelor reale într-un computer are avantajele și dezavantajele sale. Pe de o parte, această tehnică facilitează efectuarea operațiunilor între valori întregi, ceea ce accelerează semnificativ procesorul. Pe de altă parte, acest interval nu este suficient pentru a rezolva majoritatea problemelor din economie, fizică, aritmetică și alte științe. Prin urmare, acum vom lua în considerare o altă tehnică pentru super-magnitudini.

punctul de plutire

Acesta este ultimul lucru pe care trebuie să-l știți despre reprezentarea numerelor într-un computer. Deoarece la scrierea fracțiilor există o problemă de determinare a poziției punctului zecimal în ele, notația științifică este folosită pentru a plasa astfel de cifre în computer.

Orice număr poate fi reprezentat în următoarea formă X = m * p n unde m este mantisa numărului, p este baza sistemului numeric și n este exponentul numărului.

Pentru a standardiza înregistrarea numerelor în virgulă mobilă, se utilizează următoarea condiție, conform căreia modulul mantisei trebuie să fie mai mare sau egal cu 1/n și mai mic de 1.

Să ni se dea numărul 666,66. Să o punem în formă exponențială. Se dovedește că X = 0,66666 * 10 3. P = 10 și n = 3.

Valorile în virgulă mobilă sunt de obicei alocate 4 sau 8 octeți (32 sau 64 de biți). În primul caz se numește număr obișnuit de precizie, iar în al doilea caz se numește număr de precizie dublă.

Din cei 4 octeți alocați pentru stocarea cifrelor, 1 (8 biți) este alocat pentru date despre ordine și semnul acesteia, iar 3 octeți (24 de biți) sunt utilizați pentru a stoca mantisa și semnul acesteia conform acelorași principii ca și pentru valorile întregi. . Știind acest lucru, putem efectua calcule simple.

Valoarea maximă n = 1111111 2 = 127 10. Pe baza ei, putem obține dimensiune maximă număr care poate fi stocat în memoria computerului. X=2127. Acum putem calcula mantisa maximă posibilă. Va fi egal cu 2 23 - 1 ≥ 2 23 = 2 (10 × 2,3) ≥ 1000 2,3 = 10 (3 × 2,3) ≥ 10 7. Drept urmare, am primit o valoare aproximativă.

Dacă acum combinăm ambele calcule, obținem o valoare care poate fi scrisă fără pierderi în 4 octeți de memorie. Va fi egal cu X = 1,701411 * 10 38. Numerele rămase au fost aruncate, deoarece tocmai aceasta este precizia care ne permite să avem aceasta metodaînregistrări.

Precizie dubla

Deoarece toate calculele au fost descrise și explicate în paragraful anterior, aici vom spune totul foarte pe scurt. Pentru numerele cu precizie dublă, există de obicei 11 biți pentru exponent și semnul acestuia, precum și 53 de biți pentru mantise.

P = 1111111111 2 = 1023 10.

M = 2 52 -1 = 2 (10*5,2) = 1000 5,2 = 10 15,6. Rotunzi la latura mareși obținem numărul maxim X = 2 1023 exact cu „m”.

Sperăm că informațiile pe care le-am furnizat despre reprezentarea numerelor întregi și reale într-un computer vă vor fi utile în studii și vor fi măcar puțin mai clare decât ceea ce este scris de obicei în manuale.

Scopul serviciului. Calculatorul online este conceput pentru a reprezenta numere reale în format virgulă mobilă.

Număr

reprezentat în sistemul numeric 10 2.
Reprezentați numărul în:
formă exponenţială normalizată
formă exponenţială denormalizată
Format IEEE 754 pe 32 de biți
Format IEEE 754 pe 64 de biți
Convertiți înapoi la notație zecimală

Reguli pentru introducerea numerelor

  1. Numerele din sistemul numeric zecimal pot fi introduse fie fără o parte fracțională, fie cu o parte fracțională (234234,455).
  2. Numerele din sistemul de numere binar constau numai din cifrele 0 și 1 (10100.01).
  3. Numerele din sistemul numeric hexazecimal constau din cifrele 0...9 și literele A...F.
  4. De asemenea, puteți primi reprezentare inversă cod (de la sistem hexazecimal calcul zecimal, 40B00000)
Exemplul nr. 1. Reprezentați numărul 133,54 sub formă de virgulă mobilă.
Soluţie. Să reprezentăm numărul 133,54 în formă exponențială normalizată:
1,3354*10 2 = 1,3354*exp 10 2
Numărul 1,3354*exp 10 2 este format din două părți: mantisa M=1,3354 și exponentul exp 10 =2
Dacă mantisa este în intervalul 1 ≤ M Reprezentarea unui număr în formă exponențială denormalizată.
Dacă mantisa este în intervalul 0,1 ≤ M Să reprezentăm numărul în formă exponențială denormalizată: 0,13354*exp 10 3

Exemplul nr. 2. Reprezentați numărul binar 101.10 2 în formă normalizată, scrisă în standardul IEEE754 pe 32 de biți.
Soluţie.
Reprezentarea unui număr binar în virgulă mobilă în formă normalizată exponențială.
Să deplasăm numărul cu 2 cifre la dreapta. Ca rezultat, am obținut principalele componente ale unui număr binar normalizat exponențial:
Mantisa M=1,011
Exponent exp 2 =2
Convertiți numărul binar normalizat în formatul IEEE 754 pe 32 de biți.
Primul bit este alocat pentru a indica semnul numărului. Deoarece numărul este pozitiv, primul bit este 0
Următorii 8 biți (2-a 9) sunt rezervați exponentului.
Pentru a determina semnul exponentului, pentru a evita introducerea unui alt bit de semn, adăugați un offset la exponentul de jumătate de octet +127. Deci exponentul nostru este: 2 + 127 = 129
Să convertim exponentul în reprezentare binară.
Restul de 23 de biți sunt rezervați mantisei. Într-o mantisă binară normalizată, primul bit este întotdeauna egal cu 1, deoarece numărul se află în intervalul 1 ≤ M Pentru a converti partea întreagă, trebuie să înmulțiți cifra numărului cu puterea cifrei corespunzătoare.
01100000000000000000000 = 2 22 *0 + 2 21 *1 + 2 20 *1 + 2 19 *0 + 2 18 *0 + 2 17 *0 + 2 16 *0 + 2 15 *0 + 2 14 *0 + 2 13 *0 + 2 12 *0 + 2 11 *0 + 2 10 *0 + 2 9 *0 + 2 8 *0 + 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *0 + 2 1 *0 + 2 0 *0 = 0 + 2097152 + 1048576 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 3145728
În cod zecimal, mantisa este exprimată ca 3145728
Ca rezultat, numărul 101.10 reprezentat în IEEE 754 cu precizie unică este egal cu.
Să convertim la reprezentare hexazecimală.
Să împărțim sursăîn grupuri de 4 categorii.
2 = 0100 0000 1011 0000 0000 0000 0000 0000 2
Obținem numărul:
0100 0000 1011 0000 0000 0000 0000 0000 2 = 40B00000 16

Instrucțiuni

Dacă în formă fractii trebuie să ne imaginăm întregul număr, apoi folosiți unul ca numitor și puneți valoarea inițială în numărător. Această formă de înregistrare se numește fracție ordinară improprie, deoarece modulul numărătorului său mai mult modul numitor. De exemplu, număr 74 poate fi scris ca 74/1 și număr-12 - ca -12/1. Dacă este necesar, puteți număra și numitor de același număr de ori - valoare fractiiîn acest caz, se va potrivi în continuare cu numărul inițial. De exemplu, 74=74/1=222/3 sau -12=-12/1=-84/7.

Dacă originalul număr prezentate în format zecimal fractii, apoi lăsați întreaga parte neschimbată și înlocuiți virgula de separare cu un spațiu. Puneți partea fracțională în numărător și, ca numitor, utilizați un zece ridicat la o putere cu un exponent egal cu numărul de cifre din fracția numărului original. Partea fracțională rezultată poate fi redusă prin împărțirea numărătorului și numitorului la același număr. De exemplu, zecimală fractii 7,625 va corespunde fracției comune 7 625/1000, care după reducere va lua valoarea 7 5/8. Această formă de notație este comună fractii amestecat. Dacă este necesar, poate fi redusă la forma obișnuită greșită prin înmulțirea părții întregi cu numitorul și adăugarea rezultatului la numărător: 7,625 = 7.625/1000 = 7 5/8 = 61/8.

Dacă fracția zecimală inițială este și periodică, atunci utilizați, de exemplu, un sistem de ecuații pentru a calcula echivalentul său în format fractii comun. Să presupunem că, dacă fracția inițială este 3,5(3), atunci putem avea o identitate: 100*x-10*x=100*3,5(3)-10*3,5(3). Din ea putem deduce egalitatea 90*x=318, și că fracția dorită va fi egală cu 318/90, care după reducere va da fracția ordinară 3 24/45.

Surse:

  • Numărul 450.000 poate fi reprezentat ca produsul a 2 numere?

În viața de zi cu zi, numerele nenaturale sunt cel mai des întâlnite: 1, 2, 3, 4 etc. (5 kg de cartofi) și numere fracționate, neîntregi (5,4 kg de ceapă). Cele mai multe dintre ele sunt prezentate în formă fracții zecimale. Dar reprezentați fracția zecimală în formă fractii destul de simplu.

Instrucțiuni

De exemplu, având în vedere numărul „0,12”. Dacă nu această fracție și imaginați-o așa cum este, atunci va arăta astfel: 12/100 („doisprezece”). Pentru a scăpa de o sută în , trebuie să împărțiți atât numărătorul, cât și numitorul la numărul care le împarte numerele. Acest număr este 4. Apoi, împărțind numărătorul și numitorul, obținem numărul: 3/25.

Dacă luăm în considerare un produs mai obișnuit, atunci este adesea clar pe eticheta de preț că greutatea acestuia este, de exemplu, de 0,478 kg sau așa mai departe. Acest număr este, de asemenea, ușor de imaginat formă fractii:
478/1000 = 239/500. Această fracție este destul de urâtă și, dacă ar fi posibil, această fracție zecimală ar putea fi redusă și mai mult. Și toate folosind aceeași metodă: selectarea unui număr care împarte atât numărătorul, cât și numitorul. Acest număr este cel mai mare factor comun. Factorul este „cel mai mare”, deoarece este mult mai convenabil să împărțiți imediat atât numărătorul, cât și numitorul cu 4 (ca în primul exemplu) decât să îl împărțiți de două ori la 2.

Video pe tema

Zecimal fracțiune- varietate fractii, care are un număr „rotund” la numitor: 10, 100, 1000 etc., De exemplu, fracțiune 5/10 are notația zecimală de 0,5. Pe baza acestui principiu, fracțiune poate fi reprezentat în formă zecimal fractii.

Instrucțiuni

Noi traim in lumea digitală. Dacă anterior principalele valori erau pământul, banii sau mijloacele de producție, acum tehnologia și informația decid totul. Fiecare persoană care vrea să reușească este pur și simplu obligată să înțeleagă orice numere, indiferent sub ce formă sunt prezentate. Pe lângă forma obișnuită de notație zecimală, există multe altele moduri convenabile reprezentarea numerelor (în condiții sarcini specifice). Să ne uităm la cele mai comune dintre ele.

Vei avea nevoie

  • Calculator

Instrucțiuni

Pentru a reprezenta un număr zecimal ca o fracție, mai întâi trebuie să vă uitați dacă este un număr real sau un număr real. Întreg număr nu are virgulă deloc, sau există un zero după virgulă (sau multe zerouri, care este același lucru). Dacă există câteva numere după virgulă, atunci aceasta număr se referă la cele reale. Întreg număr foarte ușor de reprezentat ca fracție: numărătorul însuși intră în număr, iar numitorul este . Cu zecimala este aproape la fel, doar că vom înmulți ambele părți ale fracției cu zece până scăpăm de virgula din numărător.

| 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 numerele întregi nenegative pot fi reprezentate numai în formă semnată.

Reprezentarea nesemnată este utilizată pentru obiecte precum adresele celulelor, diverse 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 informare „Numărul și codul computerului" 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 de cod suplimentar folosind modul de informare„Cod suplimentar”, postat pe site-ul 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.

Este posibil să fi întâlnit forma exponențială de scriere a 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 schimba.

Pentru consistență, 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 mantisă, semnul ordinului, 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 de numere;
p - ordinea numerelor.

Întrebări și sarcini

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

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.

Numerele întregi pot fi reprezentate fără semnătură sau semnate într-un computer.

numere întregi fără semn. Numerele întregi fără semn ocupă de obicei 1 sau 2 octeți în memoria computerului și iau valori de la 00000000 2 la 11111111 2 în format pe un singur octet și de la 00000000 00000000 2 la 11111111 111111111 11111112 2 octeți.

Întreg numere semnate. Numerele întregi cu semn ocupă de obicei 1, 2 sau 4 octeți în memoria computerului, bitul din stânga (cel mai semnificativ) conține informații despre semnul numărului. Semnul „+” este codificat ca zero, iar „-” ca unul (Tabelul 2.3).

Să ne uităm la caracteristicile scrierii numerelor întregi cu semn folosind exemplul unui format pe un singur octet, în care o cifră este alocată pentru semn și o cifră pentru cifre valoare absolută- șapte cifre.

ÎN tehnologia calculatoarelor Se folosesc trei forme de înregistrare (codificare) a numerelor întregi cu semn: cod direct, cod invers, cod complementar. Ultimele două forme sunt utilizate în mod deosebit pe scară largă, deoarece fac posibilă simplificarea proiectării dispozitivului aritmetic-logic al unui computer prin înlocuirea diferitelor operații aritmetice cu operația de adunare.

Numerele pozitive în înainte, înapoi și coduri suplimentare sunt reprezentate în același mod - coduri binare cu numărul 0 în bitul de semn.

Tabelul 2.2 Domenii de valori întregi fără semn

Numărul 1,® = 1 2: Numărul 127 10 = 1111111 2:

0000000 10 1111111

Semnul numeric „-”| Semnul numeric „-”

Numerele negative din codurile directe, inverse și complement au imagini diferite.

Cod direct pentru numărul -1: Cod direct pentru numărul -127:

1OOOOOOoT11111111

Semnul numeric „+” Semnul numeric „+”

Cod direct: cifra 1 este plasată în cifra semnului, iar cifrele părții digitale a numărului sunt cod binar valoarea sa absolută.

Codul invers se obține inversând toate cifrele codului binar, valoarea absolută a numărului, inclusiv bitul de semn: zerourile sunt înlocuite cu unu, iar cele cu zerouri.

Exemple.

Numărul 1. Număr: -127.

Cod modul numeric: 00000001 Cod modul numeric: 01111111

Cod de număr invers: 11111110 Cod de număr invers: 10000000

Codul complementar se obține prin formarea codului invers și apoi adăugarea unuia la cifra sa cea mai puțin semnificativă.

Cod de număr suplimentar -1: Cod de număr suplimentar -127:

R

11111110 10000000

11111111 10 0 0 0 0 0 1

Folosind coduri directe, inverse și complementare, puteți reduce operația de înmulțire la o secvență de adunări și deplasări, iar operația de divizare la adăugarea repetată a unui cod de divizor suplimentar la Divizor.

De obicei, numerele zecimale negative, atunci când sunt introduse într-o mașină, sunt convertite automat în cod binar invers sau complementar și în această formă sunt stocate, mutate și participate la operații. Când astfel de numere sunt scoase de la aparat, ele sunt convertite înapoi în numere zecimale negative.

Numere reale. Numerele reale (zecimale finite și infinite) sunt stocate și procesate într-un computer în format virgulă mobilă. În acest caz, poziția punctului zecimal în număr se poate modifica.

Formatul în virgulă mobilă se bazează pe notație științifică, în care poate fi reprezentat orice număr. Da, numărul A poate fi reprezentat ca

A = t-q",

Unde T - mantisa numărului; q- baza sistemului de numere; P- ordinea numerelor.

Pentru a asigura reprezentarea fără ambiguitate a numerelor în virgulă mobilă, se utilizează o formă normalizată, în care mantisa îndeplinește condiția

1/i = \T\< 1.

Aceasta înseamnă că mantisa trebuie să fie o fracție adecvată și să aibă o cifră diferită de zero după virgulă.

Exemple. Să convertim numerele în formă exponențială cu o mantise normalizată:

421,637 = 0,421637 10 3 ;

0,000286 = 0,286 10" 4 ;

25,25 = -2,525 10 2 .

Un număr în virgulă mobilă ocupă 4 (precizie standard) sau 8 (precizie dublă) în memoria computerului. Când se scrie un număr în virgulă mobilă, biții sunt alocați pentru a stoca semnul mantisei, exponentului, exponentului și

mantisa.

Operatii aritmetice. La adăugarea și scăderea numerelor în format virgulă mobilă, se efectuează mai întâi o operație pregătitoare de aliniere a comenzii. Ordinea numărului mai mic (modulo) crește la ordinea numărului (modulo) mai mare. Pentru ca valoarea numărului să nu se modifice, mantisa este redusă de același număr de ori (deplasată în celula de memorie la dreapta cu un număr de cifre egal cu diferența în ordinea numerelor).

După efectuarea operației de aliniere, aceiași biți de numere sunt localizați în aceleași biți de celule de memorie. Acum operațiile de adunare și scădere a numerelor se reduc la adunarea sau scăderea mantiselor.

După efectuarea unei operații aritmetice pentru a reduce numărul rezultat la format standard cu virgulă mobilă se realizează normalizarea, adică. Mantisa este deplasată la stânga sau la dreapta, astfel încât prima sa cifră semnificativă să cadă în prima zecimală.

Exemplu. Adăugați numerele 0,1 * 2 3 și 0,1 2 5 în format virgulă mobilă.

Să aliniem ordinele și să adăugăm mantisele:

+ 0,100 -2 5

La înmulțirea numerelor în format virgulă mobilă, ordinele sunt adăugate și mantisele sunt înmulțite. La împărțire, ordinea divizorului este scăzută din ordinea dividendului, iar mantisa dividendului este împărțită la mantisa divizorului.

Exemplu.Înmulțiți numerele 0,1 2 3 și 0,1 2 5 în format virgulă mobilă.

După înmulțire se va obține numărul 0,01 2 8, care după normalizare va lua forma 0, 1 2 7 .

2.1.7. Reprezentarea altor tipuri de informații pe un computer Toate tipurile de informații (text, grafic, sunet, video) sunt codificate într-o succesiune de zerouri și unu. Să ne uităm la acest proces mai detaliat.

Codare binară informații text. În mod tradițional, pentru a codifica un caracter, se utilizează o cantitate de informații egală cu 1 octet, care este de 8 biți (2 8 = 256), astfel încât 256 poate fi codificat diverse personaje.

Acest număr de caractere este suficient pentru a reprezenta informații text, inclusiv majuscule și litere mari Alfabetul rus și latin, numere, semne, simboluri grafice etc.

Codarea este că fiecărui caracter i se atribuie un unic cod zecimal de la 0 la 255 sau codul său binar corespunzător de la 00000000 la 11111111.

Când un utilizator apasă o tastă de caractere de pe tastatură, o secvență de opt impulsuri electrice (codul binar al caracterului) este trimisă în memoria computerului. Codul simbolului este stocat în memorie cu acces aleator computer, unde ocupă o celulă de memorie.

În procesul de afișare a unui caracter pe ecranul computerului, proces invers- decodare, adică conversia unui cod de caracter în imaginea acestuia.

Atribuirea simbolului cod specific este o chestiune de acord, care este înregistrată în tabelul de coduri. Primele 33 de coduri (de la O la 32) corespund nu unor caractere, ci unor operații (avans de linie, introducerea unui spațiu etc.).

Tabelul de coduri ASCII (Standard american) a fost adoptat ca standard internațional. Cod pentru Schimb de informații) (Fig. 2.1, A), codificarea primei jumătăți a caracterelor cu coduri numerice de la 32 la 126.

Cronologic, unul dintre primele standarde pentru codificarea literelor rusești pe computere a fost KOI8 („Cod de schimb de informații, 8 biți”). Această codificare a fost folosită de la mijlocul anilor 1980. a început să fie folosit în primele versiuni rusificate ale sistemului de operare UNIX.

Standardele naționale de tabel de coduri includ partea internațională a tabelului de coduri fără modificări și coduri ale alfabetelor naționale, simboluri pseudografice și unele simboluri matematice.

Orez. 2.1. Exemple de tabele de codificare:

A- international Codificare ASCII; b- codificare CP1251

Cea mai comună codificare utilizată în prezent este Microsoft Windows, desemnat CP1251 (de la Engleză Pagina de cod - pagina de cod) (Fig. 2.1, b).

La sfârşitul anilor 1990. este unul nou standard international Unicode, care alocă nu 1 octet, ci 2 octeți pe caracter, deci poate fi folosit pentru a codifica nu 256, ci 65.536 de caractere diferite. Specificație completă Standard Unicode include toate alfabetele existente, dispărute și create artificial ale lumii, precum și multe simboluri matematice, muzicale, chimice și alte simboluri.

Codarea binară a informațiilor grafice. Imaginile grafice stocate în formă analogică (continuă) pe hârtie, fotografice și film pot fi convertite în digital format de calculator prin eșantionare spațială. Acest lucru este implementat prin scanare, al cărei rezultat este o imagine raster. Imagine raster cuprinde puncte individuale- pixeli (de la Engleză element imagine - element imagine), fiecare dintre ele poate avea propria sa culoare.

Calitatea imaginii este determinată de rezoluția monitorului, adică de numărul de puncte din care este compusă. Cu cât rezoluția monitorului este mai mare, adică cu cât este mai mare numărul de linii raster și de puncte pe linie, cu atât calitatea imaginii este mai mare. În modern calculatoare personale Există patru rezoluții principale ale ecranului utilizate în mod obișnuit: 640 x 480, 800 x 600, 1024 x 768 și 1280 x 1024 pixeli.

Imaginile color sunt generate în funcție de codul binar de culoare al fiecărui pixel stocat în memoria video. Imaginile color pot avea diferite adâncimi de culoare, care sunt determinate de numărul de biți utilizați pentru a codifica culoarea unui punct (Tabelul 2.4).

Imagine color pe ecranul monitorului se formează prin amestecarea a trei culorile de bază: rosu, verde si albastru. Astfel de model de culoare numit model RGB (din engleza Red, Green, Blue - red, green, blue). Pentru a obține o paletă bogată

Tabelul 2.4 Adâncimea culorii și numărul de culori afișate

Tabelul 2.5 Formarea culorilor la adâncimea de culoare de 24 de biți

culorilor de bază pot fi date diferite intensități De exemplu, cu o adâncime de culoare de 24 de biți, sunt alocați 8 biți pentru fiecare culoare, adică pentru fiecare culoare, sunt posibile 2 8 = 256 de niveluri de intensitate, specificate în coduri binare. minim - 00000000 până la maxim - 11111111) (Tabelul 2.5).

Pentru ca o imagine să se formeze pe ecranul monitorului, informațiile despre fiecare dintre punctele sale (codul de culoare, puncte) trebuie să fie stocate în memoria video a computerului. Să calculăm cantitatea necesară de memorie video pentru unul dintre moduri grafice, de exemplu, cu o rezoluție de 800 x 600 pixeli și o adâncime de culoare de 24 de biți per pixel. Total de puncte pe ecran: 800.600 = 480.000 Memorie video necesară: 24 de biți 480.000 = 11.520.000 de biți = = 1.440.000 de octeți = 1406,25 KB = 1,37 MB.

Codarea binară a informațiilor audio. Sunetul reprezintă unda de sunet cu amplitudine și frecvență în continuă schimbare. Cu cât amplitudinea semnalului este mai mare, cu atât este mai puternic pentru oameni; Cu cât frecvența semnalului este mai mare, cu atât tonul este mai mare. Pentru a

computerul ar putea procesa sunetul, continuu semnal sonor trebuie convertite într-o succesiune de impulsuri electrice (zerouri și unuuri binare).

Astfel, dependența continuă a amplitudinii semnalului de timp La) este înlocuită cu o succesiune discretă de niveluri de volum.

Orez. 2.2. Grilă de niveluri de cuantizare.

Prelevarea de probe- procesul de rupere a unui semnal în componente individuale preluate. anumite ore de ceas t 0 , I t 2 ,… Prin intervale de ceas clar definite / (Figura 2.2).

Cuantizare -înlocuirea componentelor individuale ale valorii semnalului discret original cu cel mai apropiat nivel de cuantizare, deplasate unul față de celălalt printr-un interval numit pas de cuantizare:

d/ 0) = 2; L(/,) = 5; A(t 2)= 6; La 3)= 6; A(U) = 5; La 5)= 5; La 6)= 6;

La 7)= 6; Ah)= 5.

Codificare- traducerea valorii nivelului de cuantizare într-un cod binar specific, de exemplu:

2-0010; 6-0110; 6-0110; 5-0101; 5-0101; 6-ONO; 6-0110; 5-0101; 4-0100.

Calitatea informațiilor transmise va depinde de:

Din dimensiunea biților de conversie, adică numărul de biți binari care vor fi utilizați la codificarea nivelului corespunzător;

Rate de eșantionare - frecvența la care semnal analog vor fi convertite în formă digitală folosind unul dintre sistemele numerice.

Nivelurile de volum al sunetului pot fi gândite ca un set de stări posibile. Prin urmare, decât număr mai mare nivelurile de volum vor fi evidențiate în timpul procesului de codificare, deci cantitate mare informațiile vor purta semnificația fiecărui nivel și cu atât sunetul va fi mai bun. Placi de sunet furnizează, de exemplu, adâncimea de codificare audio de 16 biți, oferind 2 16 = 65.536 nivele de semnal.

În plus, calitatea codificării depinde și de numărul de puncte de măsurare a nivelului de semnal în 1 s, adică de frecvența de eșantionare (această valoare variază de la 8000 la 48.000).

Se obișnuiește să se măsoare frecvența de eșantionare în kHz (kiloherți): 1 kHz reprezintă 1000 de măsurători pe secundă.

Puteți estima volumul de informații al unui fișier audio stereo cu o durată a sunetului de 1 s la calitate superioară audio (16 biți, 48 kHz). Pentru a face acest lucru, numărul de biți per probă trebuie înmulțit cu numărul de eșantioane în 1 s și înmulțit cu 2 (modul stereo):

16 biți 48.000 -2=1.536.000 biți = 192.000 octeți 187,5 KB.

Volumul de informații fișier de sunet durează 1 minut aproximativ egal cu 11 MB.

Întrebări de control

1. Care sunt diferențele? sisteme de pozitionare calcul din cele non-poziționale?

2. Câte informații conține un număr? număr octal?

3.De ce folosește un computer sistemul de numere binar?

4.Care este avantajul formei exponenţiale a unui număr?

5.Cum sunt codificate caracterele text?

6. Care este metoda de eșantionare spațială?

7.Transfer la sistem zecimal numărul 1110 2; 22 8; BF l 6; 10110 2 ;

135 8; 70 GBP 16.

8. Convertiți numere zecimale în sisteme de numere binare, octale și hexazecimale: 74,21; 26,11; 125,01; 114.08.

9. Convertiți perechi de numere în sistemul de numere binar, produceți operatii aritmetice, verificați răspunsurile: 36 și 4; 75 și 5; 12 și 4; 123 și 3.

10. În ce sistem numeric sunt valabile următoarele egalități:

20 + 25= 100; 22+ 44 =110?

11.Numărul zecimal 59 este echivalent cu numărul 214 într-un alt sistem numeric. Găsiți baza acestui sistem.

12.Convertiți numerele în sistemul zecimal și apoi verificați rezultatele efectuând conversii inverse:

14. Înmulțiți numerele și apoi verificați rezultatele făcând
înmulțiri zecimale corespunzătoare:

101101 2 101 2 111101 2 - P,012

1011,11 2 101,1 2 101 2 -1111,001 2

15. Împărțiți 10010110 2 la 1010 2 și verificați rezultatul înmulțind divizorul cu câtul.

16.Scrieți numerele în cod direct (format 1 octet):

17. Notați numerele în coduri reciproce și complementare (format de 1 octet):

18 Găsiți reprezentările zecimale ale numerelor scrise în plus
cod nativ:

11111000 10011011

11101001 10000000

19. Scădeți numerele adunând reciprocele lor (adițional
prescurtat) coduri în format de 1 octet (indicați în ce cazuri are
locul depășirii grilei de biți):

20.Codați folosind tabelul CP1251 și reprezentați cuvântul „informații” în notație hexazecimală.

21.De ce uneori pe ecranul monitorului, în loc de informații text, puteți vedea 00DD, etc.?

22. Alături de tastele alfanumerice, tastatura conține taste precum , , etc. Au cod zecimal?

23. Cu o rezoluție de 1280 x 1024 pixeli, determinați cantitatea de memorie video la adâncimea de culoare High Color.

24. Cât poate „cântări”, adică. Care este dimensiunea unui fișier cu un videoclip care durează 5 secunde?

25. Câte puncte conține imaginea dacă, la codificarea fiecărui punct 1 octet, fișierul rezultat are o dimensiune de 300 KB?