Conversie din sistemul numeric 16 în zecimal. Numere binare, cifre și sistemul de numere binar. Conversia unui număr în binar din zecimal

În acest articol voi acoperi elementele de bază echipamente informatice este un sistem binar. Acesta este cel mai mult nivel scăzut, acestea sunt numerele cu care funcționează computerul. Și veți învăța cum să transferați dintr-un singur sistem

Tabelul 1 - Reprezentarea numerelor în diverse sisteme
calcul (început)

Sisteme numerice

Zecimal

Binar

Octal

hexazecimal

BCD

Pentru a converti din zecimal în binar, aveți două opțiuni.

1) De exemplu, numărul 37 trebuie tradus din sistem zecimalîn binar, atunci trebuie să îl împărțiți la două și apoi să verificați restul diviziunii. Dacă restul este impar, atunci scriem unul în partea de jos și următorul ciclu de împărțire trece printr-un număr par dacă restul împărțirii este par, atunci scriem zero. La sfârșit trebuie să obțineți 1. Și acum convertim rezultatul rezultat în binar, iar numărul merge de la dreapta la stânga.

Pas cu pas: 37 este un număr impar, ceea ce înseamnă 1 , apoi 36/2 = 18. Numărul este par, ceea ce înseamnă 0. 18/2 = 9 este un număr impar, ceea ce înseamnă 1 , apoi 8/2 = 4. Numărul este par, citiți 0. 4/2 = 2, un număr par înseamnă 0, 2/2 = 1.

Deci am primit numărul. Nu uitați să numărați de la dreapta la stânga: 100101 - acum avem un număr în sistemul binar. În general, aceasta este scrisă ca o diviziune într-o coloană, așa cum vedeți în figura de mai jos:

2) Dar există o a doua cale. Îmi place mai mult de el. Transferul de la un sistem la altul se face după cum urmează:

unde ai - i-a cifră numere;
k - numărul de cifre din partea fracționată a numărului;
m - numărul de cifre din partea întreagă a numărului;
N este baza sistemului numeric.

Baza sistemului numeric N arată de câte ori „greutatea” cifrei i-a este mai mare decât „greutatea” (i-1) a cifrei. Partea întreagă a unui număr este separată de partea fracțională printr-un punct (virgulă).

Partea întreagă a numărului AN1, cu baza N1, este convertită în sistemul numeric cu baza N2 prin împărțirea secvențială a părții întregi a numărului AN1 la baza N2 scrisă ca număr cu baza N1, până când un rest este Partea rezultată este din nou împărțită la baza N2 și acest proces trebuie să se repete până când particula devine mai mică decât divizorul. Resturile rezultate din împărțire și ultima parte sunt scrise în ordinea inversă obținută în timpul împărțirii. Numărul generat va fi un întreg cu baza N2.

Partea fracționată a numărului AN1, cu baza N1, este convertită într-un sistem numeric cu baza N2 prin înmulțirea secvențială a părții fracționale a numărului AN1 cu baza N2, scrisă ca număr cu baza N1. La fiecare înmulțire, partea întreagă a produsului este luată sub forma următoarei cifre a cifrei corespunzătoare, iar partea fracțională a restului este luată ca o nouă înmulțire. Numărul de înmulțiri determină capacitatea de cifre a rezultatului rezultat, reprezentând partea fracțională a numărului AN1 în sistemul numeric N2. Partea fracționară a unui număr este adesea reprezentată incorect atunci când este tradusă.

Să facem asta cu un exemplu:

Convertiți din zecimal în binar

37 în zecimală trebuie convertit în binar. Să lucrăm cu grade:

2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024 și așa mai departe... la infinit

Aceasta înseamnă: 37 - 32 = 5. 5 - 4 = 1. Răspunsul este următorul în binar: 100101.

Să convertim numărul 658 din zecimal în binar:

658-512=146
146-128=18
18-16=2. În sistemul binar, numărul va arăta astfel: 1010010010.

Conversia de la zecimal la octal

Dacă trebuie să convertiți din zecimal în octal, trebuie mai întâi să convertiți în binar, apoi să convertiți din binar în octal. Adică, este mai ușor astfel, deși îl poți traduce imediat. Folosind un algoritm similar cu cel pentru conversia în binar, vezi mai sus.

Convertiți din zecimal în hexazecimal

Dacă trebuie să convertiți din zecimal în hexazecimal, trebuie mai întâi să convertiți în binar și apoi să convertiți din binar în hexazecimal. Adică, este mai ușor astfel, deși îl poți traduce imediat. Folosind un algoritm similar cu cel pentru conversia în binar, vezi mai sus.

Conversia de la binar la octal

Pentru a converti un număr din binar în octal, trebuie să împărțiți binarul în trei numere.

De exemplu, numărul rezultat 1010010010 este împărțit în trei numere, iar împărțirea merge de la dreapta la stânga: 1.010.010.010 = 1222. Vezi tabelul de la început.

Conversia din binar în hexazecimal

Pentru a converti un număr din binar în hexazecimal, trebuie să-l împărțiți în tetrade (patru fiecare)

10 1001 0010 = 292

Iată câteva exemple pe care să le cercetați:

Conversia se face din binar în octal, apoi în hexazecimal și apoi din binar în zecimal

(2) = 11101110
(8) = 11 101 110 = 276
(16) = 1110 1110 = EE
(10) = 1*128+ 1*64+ 1*32+ 0 +1*8 + 1*4 + 1*2+ 0= 238
3) (8) = 657

Conversia se realizează din hexazecimal în binar, apoi în octal și apoi din binar în zecimal

(16) = 6E8
(2) = 110 1110 1000
(8) = 11 011 101 000 = 2250
(10) = 1*1024+1*512+ 0 +1*128+ 1*64+ 1*32+ 8 = 1768

Cei care susțin examenul de stat unificat și multe altele...

Este ciudat că în lecțiile de informatică din școli, de obicei, le arată elevilor cel mai complex și incomod mod de a converti numerele dintr-un sistem în altul. Această metodă constă în împărțirea succesivă a numărului inițial la bază și colectarea resturilor din împărțirea în ordine inversă.

De exemplu, trebuie să convertiți numărul 810 10 în binar:

Scriem rezultatul în ordine inversă de jos în sus. Se dovedește că 81010 = 11001010102

Dacă trebuie să convertiți la sistemul binar, destul numere mari, apoi scara de diviziune capătă dimensiunea unei clădiri cu mai multe etaje. Și cum poți aduna toate cele și zerourile și să nu ratezi niciunul?

ÎN Programul de examen de stat unificatîn informatică include mai multe sarcini legate de traducerea numerelor dintr-un sistem în altul. De obicei, aceasta este o conversie între sistemele octal și hexazecimal și binar. Acestea sunt secțiunile A1, B11. Dar există și probleme cu alte sisteme de numere, cum ar fi în secțiunea B7.

Pentru început, să ne amintim două tabele pe care ar fi bine să le cunoaștem pe de rost pentru cei care aleg informatica ca profesie viitoare.

Tabelul puterilor numărului 2:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Se obține cu ușurință prin înmulțirea numărului anterior cu 2. Deci, dacă nu vă amintiți toate aceste numere, restul nu sunt greu de obținut în minte din cele pe care le amintiți.

Tabel de numere binare de la 0 la 15 cu reprezentare hexazecimală:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F

Valorile lipsă sunt, de asemenea, ușor de calculat adăugând 1 la valorile cunoscute.

Conversie intreg

Deci, să începem prin a converti direct în sistemul binar. Să luăm același număr 810 10. Trebuie să descompunăm acest număr în termeni egali cu puterile a doi.

  1. Căutăm puterea celor două cele mai apropiate de 810 și să nu o depășească. Acesta este 2 9 = 512.
  2. Scădeți 512 din 810, obținem 298.
  3. Repetați pașii 1 și 2 până când nu mai rămân 1 sau 0.
  4. Am prins așa: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Apoi, există două metode, puteți utiliza oricare dintre ele. Cât de ușor este să vezi că în orice sistem numeric baza sa este întotdeauna 10. Pătratul bazei va fi întotdeauna 100, cubul 1000. Adică, gradul bazei sistemului numeric este 1 (unul) și sunt tot atâtea zerouri în spatele lui câte grad.

Metoda 1: Aranjați 1 în funcție de rangurile indicatorilor termenilor. În exemplul nostru, acestea sunt 9, 8, 5, 3 și 1. Locurile rămase vor conține zerouri. Deci, am obținut reprezentarea binară a numărului 810 10 = 1100101010 2. Unitățile sunt plasate pe locurile 9, 8, 5, 3 și 1, numărând de la dreapta la stânga de la zero.

Metoda 2: Să scriem termenii ca puteri a doi unul sub celălalt, începând cu cel mai mare.

810 =

Acum să adăugăm acești pași împreună, cum ar fi plierea unui evantai: 1100101010.

Asta e tot. În același timp, problema „câte unități sunt în notația binară a numărului 810?” este de asemenea rezolvată.

Răspunsul este atâția termeni (puteri a doi) în această reprezentare. 810 are 5 dintre ele.

Acum exemplul este mai simplu.

Să transformăm numărul 63 în sistemul numeric 5-ari. Cea mai apropiată putere de la 5 la 63 este 25 (pătratul 5). Un cub (125) va fi deja mult. Adică 63 se află între pătratul lui 5 și cub. Apoi vom selecta coeficientul pentru 5 2. Acesta este 2.

Se obține 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5.

Și, în sfârșit, traduceri foarte ușoare între sistemele 8 și hexazecimale. Deoarece baza lor este o putere de doi, traducerea se face automat, pur și simplu prin înlocuirea numerelor cu reprezentarea lor binară. Pentru sistemul octal, fiecare cifră este înlocuită cu trei cifre binare, iar pentru sistemul hexazecimal, patru. În acest caz, sunt necesare toate zerourile înainte, cu excepția cifrei celei mai semnificative.

Să convertim numărul 547 8 în binar.

547 8 = 101 100 111
5 4 7

Încă unul, de exemplu 7D6A 16.

7D6A 16 = (0)111 1101 0110 1010
7 D 6 A

Să convertim numărul 7368 în sistemul hexazecimal Mai întâi, scrieți numerele în triplete, apoi împărțiți-le în cvadruple de la sfârșit: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. Să convertim numărul C25 16 în sistemul octal. Mai întâi, scriem numerele în patru și apoi le împărțim în trei de la sfârșit: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. Acum să ne uităm la conversia înapoi în zecimală. Nu este dificil, principalul lucru este să nu faci greșeli în calcule. Extindem numărul într-un polinom cu puteri ale bazei și coeficienți pentru ei. Apoi înmulțim și adăugăm totul. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3*8 + 2 = 474 .

Conversia numerelor negative

Aici trebuie să țineți cont de faptul că numărul va fi prezentat în cod suplimentar. Pentru a converti un număr în cod suplimentar, trebuie să știți dimensiunea finală a numărului, adică în ce dorim să-l încadram - într-un octet, în doi octeți, în patru. Cea mai semnificativă cifră a unui număr înseamnă semnul. Dacă există 0, atunci numărul este pozitiv, dacă 1, atunci este negativ. În stânga, numărul este completat cu o cifră semn. Nu considerăm numerele nesemnate, ele sunt întotdeauna pozitive, iar bitul cel mai semnificativ din ele este folosit ca informație.

Pentru a converti un număr negativ în complement binar, trebuie să convertiți un număr pozitiv în binar, apoi schimbați zerourile în unu și cele în zerouri. Apoi adăugați 1 la rezultat.

Deci, să convertim numărul -79 în sistemul binar. Numărul ne va lua un octet.

Convertim 79 în sistemul binar, 79 = 1001111. Adăugăm zerouri în stânga la dimensiunea octetului, 8 biți, obținem 01001111. Schimbăm 1 la 0 și 0 la 1. Obținem 10110000. Adăugăm 1 la rezultat, obținem răspunsul 10110001. Pe parcurs, răspundem la întrebarea Examenului de stat unificat „câte unități sunt în reprezentarea binară a numărului -79?” Raspunsul este 4.

Adăugarea lui 1 la inversul unui număr elimină diferența dintre reprezentările +0 = 00000000 și -0 = 11111111. În codul de complement a doi vor fi scrise la fel ca 00000000.

Conversia numerelor fracționale

Numerele fracționale sunt convertite în modul invers al împărțirii numerelor întregi la bază, la care ne-am uitat chiar de la început. Adică, folosind înmulțirea secvențială cu o nouă bază cu colecția de părți întregi. Părțile întregi obținute în timpul înmulțirii sunt colectate, dar nu participă la următoarele operații. Se înmulțesc doar fracțiile. Dacă numărul inițial este mai mare decât 1, atunci părțile întregi și fracționale sunt translatate separat și apoi lipite împreună.

Să transformăm numărul 0,6752 în sistemul binar.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Procesul poate fi continuat mult timp până când obținem toate zerourile din partea fracțională sau se obține precizia necesară. Să ne oprim la al 6-lea semn deocamdată.

Se dovedește că 0,6752 = 0,101011.

Dacă numărul a fost 5,6752, atunci binar va fi 101.101011.

Nota 1

Dacă doriți să convertiți un număr dintr-un sistem numeric în altul, atunci este mai convenabil să îl convertiți mai întâi în sistem zecimal sistem de numere și abia apoi convertiți-l din zecimal în orice alt sistem de numere.

Reguli pentru conversia numerelor din orice sistem numeric în zecimal

ÎN tehnologia calculatoarelor, folosind aritmetica mașină, un rol important îl joacă conversia numerelor dintr-un sistem numeric în altul. Mai jos dăm regulile de bază pentru astfel de transformări (traduceri).

    Când convertiți un număr binar într-o zecimală, este necesar să se reprezinte numărul binar ca un polinom, fiecare element fiind reprezentat ca produsul unei cifre a numărului și puterea corespunzătoare a numărului de bază, în în acest caz,$2$ și apoi trebuie să calculați polinomul folosind regulile aritmeticii zecimale:

    $X_2=A_n \cdot 2^(n-1) + A_(n-1) \cdot 2^(n-2) + A_(n-2) \cdot 2^(n-3) + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Figura 1. Tabelul 1

Exemplul 1

Convertiți numărul $11110101_2$ în sistemul numeric zecimal.

Soluţie. Folosind tabelul dat de $1$ puteri ale bazei $2$, reprezentăm numărul ca polinom:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 6 + 6 + 2 + 0 + 4 + 0 + 1 = 245_(10)$

    Pentru a converti un număr din sistemul de numere octale în sistemul de numere zecimal, trebuie să îl reprezentați ca un polinom, fiecare element fiind reprezentat ca produsul unei cifre a numărului și puterea corespunzătoare a numărului de bază, în acest caz $8$, iar apoi trebuie să calculați polinomul conform regulilor aritmeticii zecimale:

    $X_8 = A_n \cdot 8^(n-1) + A_(n-1) \cdot 8^(n-2) + A_(n-2) \cdot 8^(n-3) + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Figura 2. Tabelul 2

Exemplul 2

Convertiți numărul $75013_8$ în sistemul numeric zecimal.

Soluţie. Folosind tabelul dat de $2$ puteri ale bazei $8$, reprezentăm numărul ca polinom:

$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_(10)$

    Pentru a converti un număr din hexazecimal în zecimal, trebuie să îl reprezentați ca un polinom, fiecare element fiind reprezentat ca produsul unei cifre a numărului și puterea corespunzătoare a numărului de bază, în acest caz $16$, apoi trebuie să calculați polinomul conform regulilor aritmeticii zecimale:

    $X_(16) = A_n \cdot 16^(n-1) + A_(n-1) \cdot 16^(n-2) + A_(n-2) \cdot 16^(n-3) + . .. + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Figura 3. Tabelul 3

Exemplul 3

Convertiți numărul $FFA2_(16)$ în sistemul numeric zecimal.

Soluţie. Folosind tabelul dat de $3$ puteri ale bazei $8$, reprezentăm numărul ca polinom:

$FFA2_(16) = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_(10)$

Reguli pentru conversia numerelor din sistemul numeric zecimal în altul

  • Pentru a converti un număr din sistemul numeric zecimal în sistemul binar, acesta trebuie împărțit secvenţial la $2$ până când există un rest mai mic sau egal cu $1$. Un număr din sistemul binar este reprezentat ca o succesiune a ultimului rezultat al împărțirii și a resturilor din divizare în ordine inversă.

Exemplul 4

Convertiți numărul $22_(10)$ în sistemul numeric binar.

Soluţie:

Figura 4.

$22_{10} = 10110_2$

  • Pentru a converti un număr din sistemul numeric zecimal în octal, acesta trebuie împărțit succesiv la $8$ până când există un rest mai mic sau egal cu $7$. Un număr din sistemul de numere octale este reprezentat ca o succesiune de cifre a rezultatului ultimei diviziuni și resturile din împărțire în ordine inversă.

Exemplul 5

Convertiți numărul $571_(10)$ în sistem octal Socoteala

Soluţie:

Figura 5.

$571_{10} = 1073_8$

  • Pentru a converti un număr din sistemul numeric zecimal în sistem hexazecimal trebuie împărțit succesiv la $16$ până când există un rest mai mic sau egal cu $15$. Un număr din sistemul hexazecimal este reprezentat ca o secvență de cifre a rezultatului ultimei diviziuni și restul divizării în ordine inversă.

Exemplul 6

Convertiți numărul $7467_(10)$ în sistem numeric hexazecimal.

Soluţie:

Figura 6.

$7467_(10) = 1D2B_(16)$

    Pentru a converti o fracție adecvată dintr-un sistem de numere zecimal într-un sistem de numere non-zecimal, este necesar să înmulțiți secvențial partea fracțională a numărului care este convertit cu baza sistemului în care trebuie convertit. Fracție în sistem nou vor fi prezentate sub forma unor părți întregi de lucrări, începând cu prima.

    De exemplu: $0,3125_((10))$ în sistemul de numere octale va arăta ca $0,24_((8))$.

    În acest caz, puteți întâmpina o problemă când o fracție zecimală finită poate corespunde unei fracțiuni infinite (periodice) în sistemul numeric non-zecimal. În acest caz, numărul de cifre din fracția reprezentată în noul sistem va depinde de precizia necesară. De asemenea, trebuie remarcat faptul că numerele întregi rămân numere întregi, iar fracțiile proprii rămân fracții în orice sistem numeric.

Reguli pentru conversia numerelor dintr-un sistem de numere binar în altul

  • Pentru a converti un număr din sistem binar numerotarea în octal, aceasta trebuie împărțită în triade (triple de cifre), începând cu cifra cea mai puțin semnificativă, dacă este necesar, adăugând zerouri la triada de început, apoi înlocuiți fiecare triadă cu cifra octală corespunzătoare conform tabelului 4.

Figura 7. Tabelul 4

Exemplul 7

Convertiți numărul $1001011_2$ în sistemul de numere octale.

Soluţie. Folosind tabelul 4, convertim numărul din sistemul numeric binar în octal:

$001 001 011_2 = 113_8$

  • Pentru a converti un număr din sistemul de numere binar în hexazecimal, acesta trebuie împărțit în tetrade (patru cifre), începând cu cifra cea mai puțin semnificativă, dacă este necesar, adăugând zerouri la cea mai semnificativă tetradă, apoi înlocuiți fiecare tetradă cu cifra octală corespunzătoare. conform tabelului 4.

Conversia numerelor dintr-un sistem numeric în altul este o parte importantă a aritmeticii mașinii. Să luăm în considerare regulile de bază ale traducerii.

1. Pentru a converti un număr binar într-un număr zecimal, este necesar să îl scrieți sub forma unui polinom, constând din produsele cifrelor numărului și puterea corespunzătoare a lui 2, și să îl calculați conform regulilor din aritmetica zecimala:

Când traduceți, este convenabil să utilizați tabelul puterilor a doi:

Tabelul 4. Puterile numărului 2

n (grad)

Exemplu.

2. Pentru a converti un număr octal într-un număr zecimal, este necesar să îl scrieți ca un polinom format din produsele cifrelor numărului și puterea corespunzătoare a numărului 8 și să-l calculați conform regulilor zecimale. aritmetic:

Când traduceți, este convenabil să folosiți tabelul puterilor opt:

Tabelul 5. Puterile numărului 8

n (grad)

Exemplu. Convertiți numărul în sistemul numeric zecimal.

3. Pentru traducere număr hexazecimalîn zecimală este necesar să-l scrieți sub forma unui polinom, constând din produsele cifrelor numărului și puterea corespunzătoare a numărului 16 și să-l calculați conform regulilor aritmeticii zecimale:

Când traduceți, este convenabil de utilizat blitz-ul puterilor numărului 16:

Tabelul 6. Puterile numărului 16

n (grad)

Exemplu. Convertiți numărul în sistemul numeric zecimal.

4. Pentru traducere numar decimalîn sistemul binar, acesta trebuie împărțit secvențial la 2 până când rămâne un rest mai mic sau egal cu 1. Un număr în sistemul binar se scrie ca o succesiune a rezultatului ultimei diviziuni și resturile din împărțire în ordine inversă.

Exemplu. Convertiți numărul în sistemul numeric binar.

5. Pentru a converti un număr zecimal în sistem octal, acesta trebuie împărțit succesiv la 8 până când rămâne un rest mai mic sau egal cu 7 Un număr în sistemul octal este scris ca o secvență de cifre a rezultatului ultimei diviziuni restul diviziunii în ordine inversă.

Exemplu. Convertiți numărul în sistemul de numere octale.

6. Pentru a converti un număr zecimal în sistemul hexazecimal, acesta trebuie împărțit succesiv la 16 până când există un rest mai mic sau egal cu 15. Un număr din sistemul hexazecimal este scris ca o succesiune de cifre a rezultatului ultimei diviziuni și resturile din împărțire în ordine inversă.

Exemplu. Convertiți numărul în sistem numeric hexazecimal.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva