Convertiți un număr din hexazecimal în binar. Sisteme numerice. Sistemul de numere poziționale hexazecimal

Pentru a reprezenta numere într-un microprocesor se folosește sistem de numere binar.
Mai mult, orice semnal digital poate avea două stări stabile: " nivel inalt" Și " nivel scăzut" În sistemul de numere binar, două cifre sunt folosite pentru a reprezenta orice număr, respectiv: 0 și respectiv 1. Număr arbitrar x=a n a n-1 ..a 1 a 0 ,a -1 a -2 …a -m va fi scris în sistem de numere binar ca

x = a n ·2 n +a n-1 ·2 n-1 +…+a 1 ·2 1 +a 0 ·2 0 +a -1 ·2 -1 +a -2 ·2 -2 +…+a -m ·2 -m

Unde un i— cifre binare (0 sau 1).

Sistem de numere octale

În sistemul de numere octale, cifrele de bază sunt numerele de la 0 la 7. 8 cele de ordin scăzut sunt combinate într-una de ordin înalt.

Sistemul numeric hexazecimal

ÎN sistem hexazecimalÎn notație, cifrele de bază sunt numerele de la 0 la 15 inclusiv. Pentru a desemna cifrele de bază mai mari decât 9 cu un singur simbol, în plus față de cifrele arabe 0...9 din sistemul numeric hexazecimal, sunt folosite litere din alfabetul latin:

10 10 = A 16 12 10 = C 16 14 10 = E 16
11 10 = B 16 13 10 = D 16 15 10 = F 16.

De exemplu, numărul 175 10 în sistemul numeric hexazecimal va fi scris ca AF 16. Într-adevăr,

10·16 1 +15·16 0 =160+15=175

Tabelul prezintă numerele de la 0 la 16 în sisteme de numere zecimal, binar, octal și hexazecimal.

Zecimal Binar Octal hexazecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Conversii binar-octal și binar-hexazecimal

Sistemul de numere binare este convenabil pentru efectuarea de operații aritmetice folosind hardware-ul microprocesorului, dar este incomod pentru percepția umană deoarece necesită cantitate mare evacuări. Prin urmare în tehnologia calculatoarelorÎn plus față de sistemul de numere binar, sistemele de numere octale și hexazecimale sunt utilizate pe scară largă pentru o reprezentare mai compactă a numerelor.

Cele trei cifre ale sistemului de numere octale implementează toate combinațiile posibile de cifre octale în sistemul de numere binar: de la 0 (000) la 7 (111). Pentru a converti un număr binar în octal, trebuie să combinați cifrele binare în grupuri de 3 cifre (triade) în două direcții, începând de la separatorul zecimal. Dacă este necesar, trebuie să adăugați zerouri nesemnificative în stânga numărului inițial. Dacă un număr conține o parte fracțională, atunci în dreapta acestuia puteți adăuga și zerouri nesemnificative până când toate triadele sunt umplute. Fiecare triadă este apoi înlocuită cu o cifră octală.

Exemplu: Convertiți numărul 1101110.01 2 în sistem de numere octale.

Combinăm cifre binare în triade de la dreapta la stânga. Primim

001 101 110,010 2 = 156,2 8 .

Pentru a converti un număr din octal în binar, trebuie să scrieți fiecare cifră octală în cod binar:

156,2 8 = 001 101 110,010 2 .

Cele patru cifre ale sistemului de numere hexazecimale implementează toate combinațiile posibile de cifre hexazecimale în sistemul de numere binar: de la 0 (0000) la F(1111). Pentru a converti un număr binar în hexazecimal, trebuie să combinați cifrele binare în grupuri de 4 cifre (tetrade) în două direcții, începând de la separatorul zecimal. Dacă este necesar, trebuie să adăugați zerouri nesemnificative în stânga numărului inițial. Dacă numărul conține o parte fracțională, atunci în dreapta acestuia trebuie să adăugați și zerouri nesemnificative până când toate caietele sunt umplute. Fiecare tetradă este apoi înlocuită cu o cifră hexazecimală.

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

Combinăm cifre binare în tetrade de la dreapta la stânga. Primim

0110 1110,1100 2 = 6E,C 16 .

Pentru a converti un număr din hexazecimal în binar, trebuie să scrieți fiecare cifră hexazecimală în cod binar.

Mulți utilizatori de computere înțeleg că un computer funcționează într-un sistem de numere binar. În mod tradițional, stările unui sistem binar sunt reprezentate de numerele 0 și 1, deși, mai precis, fiecare stare indică prezența sau absența unui semnal, adică mai corect ar fi să numim stările „off” și „on” , sau „nu” și „da”. Starea „oprit” sau „nu” corespunde numărului 0, iar starea „pornit” sau „da” corespunde numărului 1. Pentru utilizatorii obișnuiți De obicei, nu este nevoie să înțelegem pe deplin structura computerului, dar sistemul de numere binare se face simțit sub forma diverse restricții bazat pe puteri a doi. O versiune mai compactă a sistemului binar se numește hexazecimal. Numărul șaisprezece este a patra putere a lui doi. De aici rezultă că puteți converti pur și simplu secvențe binare lungi de zerouri și unu în unele scurte hexazecimale. Pentru a face acest lucru, pur și simplu împărțiți secvența binară în grupuri de patru cifre (cifre) începând cu cifra cea mai puțin semnificativă (în dreapta) și înlocuiți fiecare grup cu valoarea hexazecimală corespunzătoare.

Sistemul hexazecimal este de obicei folosit pentru confortul perceperii datelor binare, deoarece conversiile din sistemul hexazecimal în sistemul binar și înapoi sunt efectuate prin simpla înlocuire a șirurilor. Calculatorul lucrează exclusiv cu secvențe binare, iar notația hexazecimală a acestei secvențe este de patru ori mai compactă, deoarece acest sistem are baza 16 (2 16) și binară 2. Secvența binară poate fi destul de greoaie. De exemplu, scrierea numărului 513 necesită zece cifre binare (1000000001), dar doar trei în hexazecimal (201). Cu toate acestea, șaisprezece este necesar pentru a reprezenta orice numere hexazecimale personaje diferite, și nu zece, care sunt folosite în sistemul numeric zecimal cunoscut nouă. Primele zece caractere sunt caractere în intervalul de la 0 la 9, restul sunt litere ale alfabetului latin în intervalul de la A la F. Literele sunt de obicei (dar nu întotdeauna) scrise cu majuscule (majuscule) în notație hexazecimală a număr. Primele zece caractere (de la 0 la 9) sunt scrise similar numerelor din sistemul numeric zecimal și le corespund. Literele din intervalul A la F corespund valorilor din intervalul 10 până la 15.

Să luăm în considerare corespondența numerelor de la 0 la 15 în sistemele numerice hexazecimale și binare.

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

Intrările pentru 10, 11 etc. în sistemele zecimal, binar și hexazecimal nu corespund între ele. Sa luam in considerare mic exemplu. Să avem un număr hexazecimal 1A5E. Pentru a converti în binar, înlocuiți pur și simplu cifrele hexazecimale cu grupurile binare corespunzătoare. Rezultatul este 0001 1010 0101 1110. Dacă scoatem zerourile nesemnificative dinaintea numărului și le scriem fără separatori, obținem 1101001011110. Pentru a converti înapoi, împărțim numărul în grupuri de patru cifre, începând cu cea mai puțin semnificativă (din partea dreapta), și, de asemenea, pentru comoditate, vom adăuga zerouri nesemnificative la grup de seniori până la 4 cifre. Obținem 0001 1010 0101 1110. Înlocuiți grupurile cu cele corespunzătoare valori hexazecimale, obținem 1A5E.

Pentru a converti un număr hexazecimal într-o reprezentare zecimală, puteți folosi schema prin care scriem numere zecimale. Într-un număr zecimal, fiecare cifră reprezintă puterea corespunzătoare a zece, începând de la zero și crescând de la dreapta la stânga. De exemplu, numar decimal 123 înseamnă 1*10 2 + 2*10 1 + 3*10 0 . Folosind o metodă similară, convertim numărul 1A5E în sistemul numeric zecimal. În sistemul numeric hexazecimal, precum și în sistemul numeric zecimal, fiecare cifră denotă puterea corespunzătoare a numărului șaisprezece, începând de la zero și crescând de la dreapta la stânga. Caracterele 1 și 5 în hexazecimal corespund valorilor 1 și 5 în zecimală, iar caracterele A și E corespund cu 10 și 14. Atunci 1A5E poate fi reprezentat în zecimal ca 1*16 3 + 10*16 2 + 5 *16 1 + 14*16 0 = 6750. Cu toate acestea, pentru a evalua numerele hexazecimale nu este deloc necesar să le convertiți în zecimală. Regulile de comparare, adunare și înmulțire în acest sistem sunt aceleași ca și în sistemul zecimal, principalul lucru este să nu uitați că fiecare cifră poate conține valori de la 0 la 15. Pentru a converti rapid numerele între sistemele numerice, puteți utiliza un calculator standard în Windows, pentru aceasta este suficient să în modul avansat al calculatorului, să selectați un sistem numeric, să introduceți un număr în el și să selectați sistemul potrivit numărul în care trebuie afișat rezultatul.

Deoarece numerele hexazecimale numai numerice sunt ușor confundate cu numerele zecimale, ele sunt de obicei marcate într-un mod care să clarifice faptul că este utilizată notația hexazecimală. Intrările hexazecimale sunt de obicei marcate prin anexare litera mica„h”, sau prefixul „0x” înainte de a scrie numărul. Astfel, numărul hexazecimal 1A5E poate fi scris ca 1A5Eh sau 0x1A5E, unde un „h” final sau un „0x” înainte indică faptul că este utilizată notația hexazecimală.

Sistemul numeric hexazecimal(De asemenea - cod hexazecimal) este un sistem de numere pozițional cu o bază întreagă 16. Uneori, în literatură, se folosește și termenul hex (pronunțat hex, scurt pentru engleză hexazecimal). Cifrele acestui sistem de numere sunt de obicei folosite în cifre arabe 0-9, precum și primele caractere ale alfabetului latin A-F. Literele corespund următoarelor valori zecimale:

  • * A -10;
  • *B—11;
  • *C—12;
  • * D -13;
  • * E - 14;
  • * F - 15.

Astfel, zece cifre arabe, cuplate cu șase litere latine, alcătuiesc cele șaisprezece cifre ale sistemului.

Apropo, pe site-ul nostru web puteți converti orice text în zecimal, hexazecimal, cod binar profitand de Calculator de cod online.

Aplicație. Cod hexadecimal utilizat pe scară largă în programarea de nivel scăzut, precum și în diverse documente de referință informatice. Popularitatea sistemului este justificată solutii arhitecturale calculatoare moderne: în ei ca unitate minimă informația este setată la un octet (format din opt biți) - iar valoarea octetului este scrisă convenabil folosind două cifre hexazecimale. Valoarea octetului poate varia de la #00 la #FF (de la 0 la 255 în notație zecimală) - cu alte cuvinte, folosind cod hexazecimal, puteți scrie orice stare a octetului, în timp ce nu există cifre „extra” care nu sunt utilizate în înregistrare.

Codificat Unicode Patru cifre hexazecimale sunt folosite pentru a înregistra numărul caracterului. Notația de culoare RGB (roșu, verde, albastru) folosește adesea cod hexazecimal (de exemplu, #FF0000 este o notație de culoare roșu strălucitor).

O metodă de scriere a codului hexazecimal.

Modul matematic de a scrie. În notația matematică, baza sistemului este scrisă în formă zecimală ca indice la dreapta numărului. Notația zecimală a numărului 3032 poate fi scrisă ca 3032 10, în notație hexazecimală număr dat va avea intrarea BD8 16.

În sintaxa limbajelor de programare. Sintaxă diverse limbi programarea setează formatul pentru scrierea unui număr folosind cod hexazecimal:

* Sintaxa unor varietăți de limbaj de asamblare folosește litera latină „h”, care este plasată în dreapta numărului, de exemplu: 20Dh. Dacă numărul începe cu Literă latină, apoi se pune un zero în fața lui, de exemplu: 0A0Bh. Acest lucru se face pentru a distinge valorile folosind constante de constante. cod hexazecimal;

* În alte varietăți de asamblare, precum și în Pascal (și variantele sale, precum Delphi) și în unele dialecte de bază, se folosește prefixul „$”: $A15;

* În limbaj Marcaj HTML, precum și în cascadă fișiere CSS, pentru a specifica culoarea în format RGB cu notație hexazecimală se folosește prefixul „#”: #00DC00.

Cum se convertesc codul hexazecimal într-un alt sistem?

Convertiți din hexazecimal în zecimal. Pentru a efectua o operație de conversie din sistemul hexazecimal în sistemul zecimal, trebuie să reprezentați numărul original ca suma produselor cifrelor din cifrele numărului hexazecimal și puterea bazei.

SS binar

hex SS

De exemplu, trebuie să traduceți numărul hexazecimal A14: are trei cifre. Folosind regula, o scriem ca o sumă de puteri cu o bază de 16:

A14 16 = 10,16 2 + 1,16 1 + 4,16 0 = 10,256 + 1,16 + 4,1 = 2560 + 16 + 4 = 2580 10

Conversia numerelor din binar în hexazecimal și invers.

Pentru traducere se folosește un tabel de notebook. Pentru a converti un număr din binar în zecimal, trebuie să îl împărțiți în tetrade separate de la dreapta la stânga și apoi, folosind un tabel, înlocuiți fiecare tetradă cu cifra hexazecimală corespunzătoare. În plus, dacă numărul de cifre nu este un multiplu de patru, atunci este necesar să adăugați numărul corespunzător de zerouri la dreapta numărului pentru a numărul total cifre binare devenit multiplu de patru.

Tabel de caiete pentru traducere.

Pentru a converti de la hexazecimal la binar, trebuie să faceți operare inversă: înlocuiți fiecare cifră cu un caiet din tabel.

SS binar

Octal SS

Exemplu conversie din hexazecimal în binar: A5E 16 = 1010 0101 1110 = 101001011110 2

Exemplu conversie din binar în hexazecimal: 111100111 2 = 0001 1110 0111 = 1E7 16

În acest exemplu, numărul de cifre din original număr binar nu a fost egal cu patru (9), așa că au fost adăugate zerouri nesemnificative - numărul total de cifre a devenit 12.

Traducere automată. Conversie rapidă de la sistemul numeric hexazecimal la unul din trei sisteme populare(binar, octal și zecimal), precum și traducerea inversă, se pot face folosind calculator standard furnizat cu sistemul de operare Windows. Deschideți calculatorul, selectați View -> Programmer din meniu. ÎN acest mod puteți seta sistemul de numere utilizat în acest moment(vezi meniul din stânga: Hex, Dec, Oct, Bin). În acest caz, schimbarea sistemului de numere curent produce automat o traducere.

Rezultatul a fost deja primit!

Sisteme numerice

Există sisteme numerice poziționale și nepoziționale. Sistemul de numere arabe pe care îl folosim Viata de zi cu zi, este pozițional, dar Roman nu este. În sistemele de numere poziționale, poziția unui număr determină în mod unic mărimea numărului. Să luăm în considerare acest lucru folosind exemplul numărului 6372 din sistemul numeric zecimal. Să numerotăm acest număr de la dreapta la stânga începând de la zero:

Apoi, numărul 6372 poate fi reprezentat astfel:

6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .

Numărul 10 definește sistemul numeric (în în acest caz, acesta este 10). Valorile poziției unui număr dat sunt luate ca puteri.

Luați în considerare numărul zecimal real 1287,923. Să-l numerotăm începând de la zero, poziția numărului de la virgulă zecimală la stânga și la dreapta:

Atunci numărul 1287.923 poate fi reprezentat ca:

1287,923 =1000+200+80 +7+0,9+0,02+0,003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3· 10 -3.

ÎN caz general formula poate fi reprezentată după cum urmează:

C n s n +C n-1 · s n-1 +...+C 1 · s 1 +C 0 ·s 0 +D -1 ·s -1 +D -2 ·s -2 +...+D -k ·s -k

unde C n este un număr întreg în poziție n, D -k - un număr fracționarîn poziţia (-k), s- sistemul de numere.

Câteva cuvinte despre sistemele numerice.Un număr în sistemul numeric zecimal este format din mai multe cifre (0,1,2,3,4,5,6,7,8,9), în sistemul numeric octal este format din mai multe cifre (0,1, 2,3,4,5,6,7), în sistemul numeric binar - dintr-un set de cifre (0,1), în sistemul numeric hexazecimal - dintr-un set de cifre (0,1 ,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), unde A,B,C,D,E,F corespund numerelor 10,11, 12,13,14,15.În tabelul Tab.1 sunt prezentate numerele în sisteme diferite Socoteala.

tabelul 1
Notaţie
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Conversia numerelor dintr-un sistem numeric în altul

Pentru a converti numerele dintr-un sistem numeric în altul, cel mai simplu mod este să convertiți mai întâi numărul în sistemul numeric zecimal și apoi, din sistem zecimal converti numerele în sistemul numeric necesar.

Conversia numerelor din orice sistem numeric în sistemul numeric zecimal

Folosind formula (1), puteți converti numerele din orice sistem numeric în sistemul numeric zecimal.

Exemplu 1. Convertiți numărul 1011101.001 din sistemul numeric binar (SS) în SS zecimal. Soluţie:

1 ·2 6 +0 ·2 5 + 1 ·2 4 + 1 ·2 3 + 1 ·2 2 + 0 ·2 1 + 1 ·2 0 + 0 ·2 -1 + 0 ·2 -2 + 1 ·2 -3 =64+16+8+4+1+1/8=93,125

Exemplu2. Convertiți numărul 1011101.001 din sistemul de numere octale (SS) în SS zecimal. Soluţie:

Exemplu 3 . Convertiți numărul AB572.CDF din sistemul numeric hexazecimal în SS zecimal. Soluţie:

Aici A-inlocuit cu 10, B- la 11, C- la 12, F- pana la 15.

Conversia numerelor din sistemul numeric zecimal în alt sistem numeric

Pentru a converti numerele din sistemul de numere zecimal într-un alt sistem de numere, trebuie să convertiți separat partea întreagă a numărului și partea fracțională a numărului.

Partea întreagă a unui număr este convertită din SS zecimal într-un alt sistem de numere prin împărțirea secvențială a părții întregi a numărului la baza sistemului de numere (pentru SS binar - la 2, pentru SS 8-ary - la 8, pentru 16 -ary SS - cu 16, etc.) până când se obține un reziduu întreg, mai mic decât baza CC.

Exemplu 4 . Să convertim numărul 159 din SS zecimal în SS binar:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

După cum se poate observa din fig. 1, numărul 159 când este împărțit la 2 dă câtul 79 și restul 1. În plus, numărul 79 când este împărțit la 2 dă câtul 39 și restul 1 etc. Ca rezultat, construind un număr din resturile de împărțire (de la dreapta la stânga), obținem un număr în SS binar: 10011111 . Prin urmare putem scrie:

159 10 =10011111 2 .

Exemplu 5 . Să convertim numărul 615 din SS zecimal în SS octal.

615 8
608 76 8
7 72 9 8
4 8 1
1

Când convertiți un număr dintr-un SS zecimal într-un SS octal, trebuie să împărțiți succesiv numărul la 8 până când obțineți un rest întreg mai mic decât 8. Ca rezultat, construind un număr din resturile de diviziune (de la dreapta la stânga) obținem un număr în SS octal: 1147 (vezi fig. 2). Prin urmare putem scrie:

615 10 =1147 8 .

Exemplu 6 . Să convertim numărul 19673 din sistemul numeric zecimal în SS hexazecimal.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

După cum se poate observa din figura 3, împărțind succesiv numărul 19673 la 16, resturile sunt 4, 12, 13, 9. În sistemul numeric hexazecimal, numărul 12 corespunde lui C, numărul 13 la D. Prin urmare, numărul nostru numărul hexazecimal este 4CD9.

Pentru a traduce corect zecimale (numar real cu o parte întreagă zero) într-un sistem numeric cu baza s, este necesar să înmulțim succesiv acest număr cu s până când partea fracțională este zero pur sau obținem numărul necesar de cifre. Dacă, în timpul înmulțirii, se obține un număr cu o parte întreagă, alta decât zero, atunci această parte întreagă nu este luată în considerare (sunt incluse secvenţial în rezultat).

Să ne uităm la cele de mai sus cu exemple.

Exemplu 7 . Să convertim numărul 0,214 din sistemul numeric zecimal în SS binar.

0.214
X 2
0 0.428
X 2
0 0.856
X 2
1 0.712
X 2
1 0.424
X 2
0 0.848
X 2
1 0.696
X 2
1 0.392

După cum se poate vedea din Fig. 4, numărul 0,214 este înmulțit succesiv cu 2. Dacă rezultatul înmulțirii este un număr cu o parte întreagă diferită de zero, atunci întreaga parte este scris separat (în stânga numărului), iar numărul este scris cu o parte întreagă zero. Dacă înmulțirea are ca rezultat un număr cu o parte întreagă zero, atunci în stânga acestuia se scrie un zero. Procesul de înmulțire continuă până când partea fracțională ajunge la zero pur sau obținem numărul necesar de cifre. Scriind numere îngroșate (Fig. 4) de sus în jos obținem numărul necesar în sistemul numeric binar: 0. 0011011 .

Prin urmare putem scrie:

0.214 10 =0.0011011 2 .

Exemplu 8 . Să convertim numărul 0,125 din sistemul numeric zecimal în SS binar.

0.125
X 2
0 0.25
X 2
0 0.5
X 2
1 0.0

Pentru a converti numărul 0,125 din zecimal SS în binar, acest număr este înmulțit succesiv cu 2. În a treia etapă, rezultatul este 0. În consecință, se obține următorul rezultat:

0.125 10 =0.001 2 .

Exemplu 9 . Să convertim numărul 0,214 din sistemul numeric zecimal în SS hexazecimal.

0.214
X 16
3 0.424
X 16
6 0.784
X 16
12 0.544
X 16
8 0.704
X 16
11 0.264
X 16
4 0.224

Urmând exemplele 4 și 5, obținem numerele 3, 6, 12, 8, 11, 4. Dar în SS hexazecimal, numerele 12 și 11 corespund numerelor C și B. Prin urmare, avem:

0,214 10 = 0,36C8B4 16 .

Exemplu 10 . Să convertim numărul 0,512 din sistemul numeric zecimal în SS octal.

0.512
X 8
4 0.096
X 8
0 0.768
X 8
6 0.144
X 8
1 0.152
X 8
1 0.216
X 8
1 0.728

A primit:

0.512 10 =0.406111 8 .

Exemplu 11 . Să convertim numărul 159,125 din sistemul numeric zecimal în SS binar. Pentru a face acest lucru, traducem separat partea întreagă a numărului (Exemplul 4) și partea fracțională a numărului (Exemplul 8). Combinând în continuare aceste rezultate, obținem:

159.125 10 =10011111.001 2 .

Exemplu 12 . Să convertim numărul 19673,214 din sistemul numeric zecimal în SS hexazecimal. Pentru a face acest lucru, traducem separat partea întreagă a numărului (Exemplul 6) și partea fracțională a numărului (Exemplul 9). În plus, combinând aceste rezultate, obținem.