Conversia numerelor întregi dintr-un sistem în altul. Complex educațional mar

La conversia numerelor din sistemul numeric zecimal în oricare altul, părțile întregi și fracționale sunt întotdeauna traduse separat (în conformitate cu reguli diferite).

Traducerea întregii părți

Pentru a converti un număr dintr-un sistem numeric zecimal în oricare altul, trebuie să efectuați împărțirea întregului numărului inițial la baza sistemului numeric în care doriți să convertiți numărul. În acest caz, restul diviziunii și al coeficientului sunt importante. Coeficientul trebuie împărțit la bază până când rămâne 0. După aceasta, toate resturile trebuie scrise în ordine inversă - acesta va fi numărul în noul sistem de numere.

De exemplu, convertirea numărului 25 din sistemul numeric zecimal în sistemul binar va arăta astfel:

Scriind resturile în ordine inversă, obținem 25 10 =11001 2.

Dacă vă gândiți bine, puteți observa cu ușurință că atunci când convertiți absolut orice număr în sistemul de numere binar, ultimul rest (adică prima cifră din rezultat) va fi întotdeauna egal cu ultimul coeficient, care s-a transformat a fi mai mică decât baza sistemului numeric în care traducem numărul. Prin urmare, diviziunea este adesea oprită înainte ca câtul să devină egal cu zero - în momentul în care câtul devine pur și simplu mai mic decât baza. De exemplu:

Conversia de la sistemul de numere zecimal în orice alt sistem de numere se realizează conform exact aceleași reguli. Iată un exemplu de conversie a 393 10 în sistem de numere hexazecimale:

Scriind resturile în ordine inversă, obținem 393 10 =189 16.

Trebuie să înțelegeți că resturile sunt obținute în sistemul numeric zecimal. La împărțirea la 16, reziduurile pot apărea nu numai de la 0 la 9, ci și reziduuri de la 10 la 15. Fiecare rest este întotdeauna exact o cifră în sistemul numeric în care se face traducerea.

De exemplu, dacă, la conversia în sistemul numeric hexazecimal, ați primit următoarele rămășițe (scrise în ordinea în care ar trebui să fie scrise în număr): 10, 3, 15, 7, atunci în sistemul numeric hexazecimal această secvență de resturile vor corespunde numărului A3F7 16 (unii scriu din greșeală numărul ca 103157 16 - este clar că acesta este un număr complet diferit și că, dacă faci asta, se dovedește că numerele de la A la F nu vor apărea în orice număr hexazecimal).

Traducere fracționată

Când traduceți o parte fracțională, spre deosebire de traducerea unei părți întregi, nu trebuie să împărțiți, ci să înmulțiți cu baza sistemului numeric în care facem conversia. În acest caz, părți întregi sunt aruncate de fiecare dată, iar părțile fracționale sunt înmulțite din nou. Prin colectarea părților întregi în ordinea în care au fost obținute, partea fracțională a numărului se obține în sistemul numeric dorit.

O operație de înmulțire dă exact un semn suplimentar în sistemul numeric în care se efectuează conversia.

În acest caz, există două condiții pentru finalizarea procesului:

1) ca urmare a următoarei înmulțiri ați primit un zero în partea fracționară. Este clar că oricât de mult ai înmulți acest zero, tot va rămâne zero. Aceasta înseamnă că numărul a fost convertit exact din sistemul numeric zecimal în cel necesar.

2) nu toate numerele pot fi traduse cu acuratețe. În acest caz, este de obicei tradus cu o oarecare acuratețe. În acest caz, ei determină mai întâi câte zecimale vor fi necesare - acesta este de câte ori va trebui efectuată operația de înmulțire.

Iată un exemplu de conversie a numărului 0,39 10 în sistemul numeric binar. Acuratețe - 8 cifre (în acest caz, precizia traducerii este aleasă în mod arbitrar):

Dacă scriem toate părțile în ordine directă, obținem 0,39 10 =0,01100011 2 .

Nu este nevoie să scrieți primul zero (barat cu albastru în figură) - deoarece se referă nu la partea fracțională, ci la întreaga parte. Unii oameni scriu din greșeală acest zero după punctul zecimal atunci când scriu rezultatul.

Așa va arăta conversia numărului 0,39 10 în sistemul numeric hexazecimal. Precizie - 8 cifre în acest caz, precizia este din nou aleasă în mod arbitrar:

Dacă scriem toate părțile în ordine directă, obținem 0,39 10 = 0,63D700A3 16.

În același timp, probabil ați observat că părți întregi atunci când sunt înmulțite sunt obținute în sistemul numeric zecimal. Aceste părți întregi obținute la traducerea părții fracționale a unui număr trebuie interpretate exact în același mod ca și resturile la traducerea întregii părți a unui număr. Adică, dacă, atunci când sunt convertite în sistemul numeric hexazecimal, părțile întregi au fost obținute în următoarea ordine: 3, 13, 7, 10, atunci numărul corespunzător va fi egal cu 0,3D7A 16 (și nu 0,313710 16, ca unele scrie uneori eronat).

Conversia numerelor cu părți întregi și fracționale

Pentru a traduce un număr cu un întreg și o parte fracțională, trebuie să traduceți separat partea întregului și partea fracțională separat, apoi scrieți aceste două părți împreună.

De exemplu, 25,39 10 =11001,01100011 2 (translații ale părților întregi și fracționale - vezi mai sus).

Conversia numerelor întregi mici de la zecimal la binar în capul tău

Deoarece atunci când lucrați cu diverse sisteme de numere, în special atunci când dezvoltați programe, apare foarte des nevoia de a traduce numere întregi mici, atunci, în general, este logic să memorați primele 16 numere (de la 0 la 15).

Dar dacă vă dați seama cât de ușor este să convertiți mental numerele întregi mici de la 0 la 15 din sistemul numeric zecimal în binar, atunci puteți să calculați pur și simplu o parte semnificativă a tabelului în cap de fiecare dată când aveți nevoie de el. Faceți această operațiune de multe ori și, la un moment dat, nu veți putea înțelege dacă ați memorat deja tabelul sau dacă încă calculați.

Deci, pentru a converti un mic întreg pozitiv de la 0 la 15 din zecimal în binar, primul lucru pe care trebuie să-l înțelegeți este că fiecare poziție din numărul binar corespunde unei puteri de doi. În același timp, puterile a doi pentru pozițiile de la 0 la 3 sunt foarte ușor de reținut - acestea sunt numerele 1, 2, 4 și 8:

Și numărul 10 este 2 plus 8:

Ei bine, numărul 0 este un păcat de nereținut, deoarece pentru a-l obține nu trebuie să adăugați nimic.

Regulă. Pentru a converti un număr dintr-un sistem numeric în altul, trebuie să împărțiți numărul inițial la baza noului sistem numeric. Împărțiți din nou câtul rezultat la baza noului sistem de numere și continuați împărțirea până atunci. până când câtul este mai mic decât baza noului sistem numeric. Resturile de împărțire rezultate, începând de la ultimul, se scriu în ordine inversă. Aceasta va fi înregistrarea numărului în noul sistem de numere.

Exemplu. Convertiți numărul 135 din SS zecimal în sisteme numerice 2-ary, octale și hexazecimale.

1) 2) 3)

Sarcina 2.

Convertiți următoarele numere în SS binar, octal și hexazecimal: 1275,973, 172

Conversia inversă a numerelor din orice SS în zecimală.

1) Pentru a converti un număr din orice SS în SS original (traducere inversă), trebuie să înmulțiți fiecare cifră a acestui număr cu baza SS inițială. pornind de la cifra zero de la dreapta la stânga și adăugați produsele. Dacă convertiți o fracție zecimală, ar trebui să aplicați regula pentru scrierea părților întregi și fracționale ale numărului.

2) Translația inversă a numerelor se efectuează conform formulei:

unde A este un număr dat,

g – baza SS a unui număr dat (=2 pentru 2-ary SS, pentru alte SS - similare),

m – numărul de cifre din partea întreagă a numărului.

n – numărul de cifre din partea fracțională a numărului,

a – valoarea cifrelor unui număr dat (partea fracțională a numărului este evidențiată cu albastru).

110110 2 = 1*2 5 +1*2 4 +0*2 3 +1*2 2 +1*2 1 +0*2 0 =54 10

66 8 =6*8 1 +6*8 0 =48+6=54 10 9A 16 =9*16 1 +10*16 0 =144+10=154 10

13,4 8 =1*8 1 +3*8 0 +4*8 -1 =8+3+0,5=11,5 10 (acest număr este o fracție zecimală)

Sarcina 3.

Convertiți următoarele numere în SS zecimal:

101,11 2 =5,75 10 1011001 2 1011,101 2

125,7 8 =86 10 1253 8 175,132 8

A19BA 16 =2585726… 10 16A3 16 2BAFD 16

Translația numerelor cu o bază care este o putere a lui 2 și translația inversă. Aceste sisteme includ sisteme de numere binare, octale și hexazecimale.



Regulă. Convertiți din SS binar în SS octal. Numărul binar este împărțit în grupuri de 3 cifre de la sfârșit (de la dreapta la stânga) și fiecare grup este convertit într-un număr într-un nou SS

10.000.101 2 =205 8

111.000.101.100 2 =7054 8

1.011.001.101 2 =1315 8

Regulă. Pentru conversia inversă, fiecare cifră octală este scrisă ca o triadă.

Regulă. De la SS binar la SS hexazecimal: similar, dar separat câte 4 cifre

0110.0110.1011 2 =66B 16

1011.1111.0111 2 =BF7 16

10.1010.0111.0001 2 =2A71 16

Regulă. Pentru conversia inversă, fiecare cifră hexazecimală este scrisă ca o tetradă.

Traducerea fracțiilor proprii și improprii în diferite SS. Dacă trebuie să convertiți o fracție, trebuie mai întâi să o transformați într-o zecimală și apoi să aplicați regulile de conversie a fracțiilor zecimale.

Regulă. Conversia fracțiilor zecimale mai mici de unu (fracții proprii).

1) este necesară separarea părții fracționale cu o linie verticală;

2) înmulțiți partea fracțională pe baza noului sistem de numere;

3) scrieți rezultatul strict sub numărul inițial, începând cu cifra cea mai puțin semnificativă; dacă obțineți un transfer la o parte întreagă, atunci scrieți-l în stânga liniei;

4) înmulțirea părții fracționale se efectuează până când se obține un număr cu precizia specificată sau nu există 0 în dreapta liniei.

0,728 10 =0,564 8

Sarcina 4. Convertiți următoarele fracții proprii din SS zecimal în SS binar, octal, hexazecimal: .

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 sistemul numeric zecimal și abia apoi să îl convertiți din sistemul numeric zecimal în orice alt sistem numeric.

Reguli pentru conversia numerelor din orice sistem numeric în zecimal

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

    Când convertiți un număr binar într-o zecimală, trebuie să reprezentați 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 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 un 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 sistemul de numere octale.

Soluţie:

Figura 5.

$571_{10} = 1073_8$

  • Pentru a converti un număr din sistemul numeric 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 reprezentat ca o succesiune 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țiile din noul sistem vor fi reprezentate ca părți întregi de produse, î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 sistemul de numere binar în octal, acesta trebuie împărțit în triade (triplu de cifre), începând cu cifra cea mai puțin semnificativă, dacă este necesar, adăugând zerouri la triada principală, 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.

Când configurați rețele de diferite dimensiuni și vă ocupați de calcule în fiecare zi, nu trebuie să creați acest tip de foaie de cheat, totul se face pe un reflex necondiționat. Dar când te uiți foarte rar în rețele, nu îți amintești întotdeauna care este masca în formă zecimală pentru prefixul 21 sau care este adresa de rețea pentru același prefix. În acest sens, am decis să scriu mai multe articole mici-cheat sheets despre conversia numerelor în diverse sisteme de numere, adrese de rețea, măști etc. În această parte vom vorbi despre conversia numerelor în diferite sisteme numerice.

1. Sisteme numerice

Când faci ceva legat de rețelele de calculatoare și IT, oricum vei întâlni acest concept. Și ca tip IT inteligent, trebuie să înțelegi asta măcar puțin, chiar dacă în practică îl vei folosi foarte rar.
Să ne uităm la traducerea fiecărei cifre dintr-o adresă IP 98.251.16.138 în următoarele sisteme numerice:

  • Binar
  • Octal
  • Zecimal
  • hexazecimal

1.1 Decimală

Deoarece numerele sunt scrise în zecimală, vom sări peste conversia de la zecimal la zecimal :)

1.1.1 Decimal → Binar

După cum știm, sistemul de numere binare este folosit în aproape toate computerele moderne și multe alte dispozitive de calcul. Sistemul este foarte simplu - avem doar 0 și 1.
Pentru a converti un număr cu o zecime în formă binară, trebuie să utilizați diviziunea modulo 2 (adică împărțirea întregului cu 2), în urma căreia vom avea întotdeauna un rest de 1 sau 0. În acest caz, rezultatul este scris de la dreapta la stânga. Un exemplu va pune totul la locul lui:


Figura 1.1 – Conversia numerelor din sistem zecimal în sistem binar


Figura 1.2 – Conversia numerelor din sistem zecimal în sistem binar

Voi descrie împărțirea numărului 98. Împărțim 98 la 2, ca rezultat avem 49 și restul 0. Apoi continuăm împărțirea și împărțim 49 la 2, ca rezultat avem 24 cu un rest 1. Și în la fel ajungem la 1 sau 0 în divizibil. Apoi scriem rezultatul de la dreapta la stânga.

1.1.2 Decimală → Octal

Sistemul octal este un sistem de numere întregi cu baza 8. I.e. toate numerele din acesta sunt reprezentate în intervalul 0 – 7 și pentru a converti din sistemul zecimal trebuie să utilizați diviziunea modulo 8.


Figura 1.3 – Conversia numerelor din sistem zecimal în sistem octal

Împărțirea este similară cu sistemul în 2 puncte.

1.1.3 Decimală → Hexazecimală

Sistemul hexazecimal a înlocuit aproape complet sistemul octal. Are o bază de 16, dar folosește cifre zecimale de la 0 la 9 + litere latine de la A (numărul 10) la F (numărul 15). Îl întâlniți de fiecare dată când verificați setările adaptorului de rețea - aceasta este adresa MAC. Același lucru când este utilizat IPv6.


Figura 1.4 – Conversia numerelor din zecimal în hexazecimal

1.2 Binar

În exemplul anterior, am convertit toate numerele zecimale în alte sisteme numerice, dintre care unul este binar. Acum să convertim fiecare număr din forma binară.

1.2.1 Binar → Decimal

Pentru a converti numerele din binar în zecimal, trebuie să cunoașteți două nuanțe. Primul este că fiecare zero și unu au un factor de 2 la a n-a putere, în care n crește de la dreapta la stânga cu exact unu. Al doilea este că după înmulțire, toate numerele trebuie adăugate și vom obține numărul în formă zecimală. Ca rezultat, vom avea o formulă ca aceasta:

D = (a n × p n-1) + (a n-1 × p n-2) + (a n-2 × p n-3) +…, (1.2.1)

Unde,
D este numărul zecimal pe care îl căutăm;
n– numărul de caractere dintr-un număr binar;
a – un număr în formă binară la a n-a poziție (adică primul caracter, al doilea etc.);
p – coeficient egal cu 2,8 sau 16 la putere n(în funcție de sistemul de numere)

De exemplu, să luăm numărul 110102. Ne uităm la formula și scriem:

  • Numărul este format din 5 caractere ( n=5)
  • a 5 = 1, a 4 = 1, a 3 = 0, a 2 = 1, a 1 = 0

  • p = 2 (deoarece convertim din binar în zecimal)

Ca rezultat avem:

D = (1 × 2 5-1) + (1 × 2 5-2) + (0 × 2 5-3) + (1 × 2 5-4) + (0 × 2 5-5) = 16 + 8 + 0 + 2 + 0 = 26 10

Pentru cei care sunt obișnuiți să scrie de la dreapta la stânga, formularul va arăta astfel:

D = (0 × 2 5-5) + (1 × 2 5-4) + (0 × 2 5-3) + (1 × 2 5-2) + (1 × 2 5-1) = 0 + 2 + 0 + 8 + 16 = 26 10

Dar, după cum știm, rearanjarea termenilor nu schimbă suma. Acum să convertim numerele noastre în formă zecimală.


Figura 1.5 – Conversia numerelor din sistem binar în sistem zecimal

1.2.2 Binar → Octal

Când traducem, trebuie să împărțim numărul binar în grupuri de trei caractere de la dreapta la stânga. Dacă ultimul grup nu este format din trei caractere, atunci pur și simplu înlocuim biții lipsă cu zerouri. De exemplu:

10101001 = 0 10 101 001

1011100 = 00 1 011 100

Fiecare grup de biți este unul dintre numerele octale. Pentru a afla care dintre ele, trebuie să utilizați formula 1.2.1 scrisă mai sus pentru fiecare grup de biți. Ca rezultat obținem.


Figura 1.6 – Conversia numerelor din sistem binar în sistem octal

1.2.3 Binar → Hexazecimal

Aici trebuie să împărțim numărul binar în grupuri de patru caractere de la dreapta la stânga, urmat de adăugarea de zerouri la biții lipsă ai grupului, așa cum este descris mai sus. Dacă ultimul grup este format din zerouri, atunci acestea ar trebui ignorate.

110101011 = 000 1 1010 1011

1011100 = 0 101 1100

001010000 = 00 0101 0000 = 0101 0000

Fiecare grup de biți este unul dintre numerele hexazecimale. Folosim formula 1.2.1 pentru fiecare grup de biți.


Figura 1.7 – Conversia numerelor din binar în hexazecimal

1,3 octal

În acest sistem, este posibil să avem dificultăți numai la conversia în hexazecimal, deoarece restul traducerii merge fără probleme.

1.3.1 Octal → Binar

Fiecare număr din sistemul octal este un grup de trei biți din sistemul binar, așa cum este descris mai sus. Pentru a traduce, trebuie să folosim o foaie de cheat:


Figura 1.8 – Spur pentru conversia numerelor din sistemul octal

Folosind această tabletă, ne vom converti numerele în sistemul binar.


Figura 1.9 – Conversia numerelor din octal în binar

Voi descrie puțin concluzia. Primul nostru număr este 142, ceea ce înseamnă că vor fi trei grupuri de câte trei biți fiecare. Folosim pintenul și vedem că numărul 1 este 001, numărul 4 este 100 și numărul 2 este 010. Ca rezultat, avem numărul 001100010.

1.3.2 Octal → Decimal

Aici folosim formula 1.2.1 numai cu un coeficient de 8 (adică p=8). Ca rezultat avem


Figura 1.10 – Conversia numerelor din sistem octal în sistem zecimal

  • Numărul este format din 3 caractere ( n=3)
  • a 3 = 1, a 2 = 4, a 1 = 2

  • p = 8 (deoarece convertim de la octal la zecimal)

Ca rezultat avem:

D = (1 × 8 3-1) + (4 × 8 3-2) + (2 × 8 3-3) = 64 + 32 + 2 = 98 10

1.3.3 Octal → Hexazecimal

După cum a fost scris mai devreme, pentru a traduce, mai întâi trebuie să convertim numerele în sistem binar, apoi din binar în hexazecimal, împărțindu-le în grupuri de 4 biți. Puteți folosi următorul pinten.


Figura 1.11 – Spur pentru conversia numerelor din sistemul hexazecimal

Acest tabel vă va ajuta să convertiți din binar în hexazecimal. Acum să ne convertim numerele.


Figura 1.12 – Conversia numerelor din octal în hexazecimal

1.4 Hexazecimal

Acest sistem are aceeași problemă la conversia în octal. Dar mai multe despre asta mai târziu.

1.4.1 Hex → Binar

Fiecare număr în hexazecimal este un grup de patru biți în binar, așa cum este descris mai sus. Pentru a traduce, putem folosi foaia de cheat de mai sus. Ca urmare:


Figura 1.13 – Conversia numerelor din hexazecimal în binar

Să luăm primul număr - 62. Folosind tabelul (Fig. 1.11) vedem că 6 este 0110, 2 este 0010, ca urmare avem numărul 01100010.

1.4.2 Hex → Decimal

Aici folosim formula 1.2.1 numai cu un coeficient de 16 (adică p=16). Ca rezultat avem


Figura 1.14 – Conversia numerelor din hexazecimal în zecimal

Să luăm primul număr. Pe baza formulei 1.2.1:

  • Numărul este format din 2 caractere ( n=2)
  • a 2 = 6, a 1 = 2

  • p = 16 (deoarece convertim de la hexazecimal la zecimal)

Ca rezultat avem.

D = (6 × 16 2-1) + (2 × 16 2-2) = 96 + 2 = 98 10

1.4.3 Hex → Octal

Pentru a converti în sistemul octal, trebuie mai întâi să convertiți în binar, apoi să îl împărțiți în grupuri de 3 biți și să utilizați tabelul (Fig. 1.8). Ca urmare:


Figura 1.15 – Conversia numerelor din hexazecimal în octal

Vom vorbi despre adrese IP, măști și rețele.

Instrucțiuni

Video pe tema

În sistemul de numărare pe care îl folosim în fiecare zi, există zece cifre - de la zero la nouă. De aceea se numește zecimală. Totuși, în calculele tehnice, în special cele legate de calculatoare, altele sisteme, în special binar și hexazecimal. Prin urmare, trebuie să fiți capabil să traduceți numere de la unul sisteme numărând la altul.

Vei avea nevoie

  • - o bucată de hârtie;
  • - creion sau stilou;
  • - calculator.

Instrucțiuni

Sistemul binar este cel mai simplu. Are doar două cifre - zero și unu. Fiecare cifră a binarului numere, începând de la capăt, corespunde unei puteri de doi. Doi în egal cu unu, în primul - doi, în al doilea - patru, în al treilea - opt și așa mai departe.

Să presupunem că vi se dă numărul binar 1010110. Unitățile din acesta se află pe locurile al doilea, al treilea, al cincilea și al șaptelea. Prin urmare, în sistemul zecimal acest număr este 2^1 + 2^2 + 2^4 + 2^6 = 2 + 4 + 16 + 64 = 86.

Problemă inversă - zecimală numere sistem. Să presupunem că aveți numărul 57. Pentru a-l obține, trebuie să împărțiți succesiv numărul la 2 și să scrieți restul. Numărul binar va fi construit de la sfârșit la început.
Primul pas vă va oferi ultima cifră: 57/2 = 28 (restul 1).
Apoi îl obțineți pe al doilea de la final: 28/2 = 14 (restul 0).
Alți pași: 14/2 = 7 (restul 0);
7/2 = 3 (restul 1);
3/2 = 1 (restul 1);
1/2 = 0 (restul 1).
Acesta este ultimul pas deoarece rezultatul împărțirii este zero. Drept urmare, ați primit numărul binar 111001.
Verificați răspunsul: 111001 = 2^0 + 2^3 + 2^4 + 2^5 = 1 + 8 + 16 + 32 = 57.

Al doilea, folosit în probleme informatice, este hexazecimal. Nu are zece, ci șaisprezece cifre. Pentru a evita noile convenții, primele zece cifre de hexazecimal sisteme sunt desemnate prin numere obișnuite, iar restul de șase - prin litere latine: A, B, C, D, E, F. Ele corespund notării zecimale numere m de la 10 la 15. Pentru a evita confuziile, numărul scris în hexazecimal este precedat de semnul # sau de simbolurile 0x.

Conversie inversă din zecimală sisteme la hexazecimal se face folosind aceeași metodă a resturilor ca și la binar. De exemplu, luați numărul 10000. Împărțind în mod constant la 16 și notând resturile, obțineți:
10000/16 = 625 (restul 0).
625/16 = 39 (restul 1).
39/16 = 2 (restul 7).
2/16 = 0 (restul 2).
Rezultatul calculului va fi numărul hexazecimal #2710.
Verificați răspunsul: #2710 = 1*(16^1) + 7*(16^2) + 2*(16^3) = 16 + 1792 + 8192 = 10000.

Transfer numere din hexazecimal sisteme Este mult mai ușor să convertiți în binar. Numărul 16 este doi: 16 = 2^4. Prin urmare, fiecare cifră hexazecimală poate fi scrisă ca un număr binar de patru cifre. Dacă aveți mai puțin de patru cifre într-un număr binar, adăugați zerouri de început.
De exemplu, #1F7E = (0001)(1111)(0111)(1110) = 1111101111110.
Verificați răspunsul: ambele numereîn notație zecimală sunt egale cu 8062.

Pentru a traduce, trebuie să împărțiți numărul binar în grupuri de patru cifre, începând de la sfârșit, și să înlocuiți fiecare astfel de grup cu o cifră hexazecimală.
De exemplu, 11000110101001 devine (0011)(0001)(1010)(1001), care în notație hexazecimală este egal cu #31A9. Corectitudinea răspunsului este confirmată prin conversia în notație zecimală: ambele numere sunt egale cu 12713.

Sfat 5: Cum se transformă un număr în binar

Datorită utilizării limitate a simbolurilor, sistemul binar este cel mai convenabil pentru utilizare în computere și alte dispozitive digitale. Există doar două simboluri: 1 și 0, deci acesta sistem utilizate în operarea registrelor.

Instrucțiuni

Binarul este pozițional, adică Poziția fiecărei cifre într-un număr corespunde unei anumite cifre, care este egală cu două la puterea corespunzătoare. Gradul începe de la zero și crește pe măsură ce vă deplasați de la dreapta la stânga. De exemplu, număr 101 este egal cu 1*2^0 + 0*2^1 + 1*2^2 = 5.

Considerați un număr zecimal în binar sistem prin împărțire secvențială cu 2. Pentru a converti o zecimală număr 25 în cod, trebuie să-l împărțiți cu 2 până rămâne 0 Resturile obținute la fiecare pas de împărțire sunt scrise într-o linie de la dreapta la stânga, după ce se scrie cifra ultimului rest, aceasta va fi finală.