Unul dintre principalele dezavantaje ale numerelor binare este acela că șirul binar echivalent al unui număr mare în zecimal baza 10 poate fi destul de lung.
Când se lucrează cu sisteme digitale mari, cum ar fi computerele, este obișnuit să se întâlnească numere binare formate din 8, 16 și chiar 32 de cifre, ceea ce îngreunează atât citirea cât și scrierea fără a produce erori, în special atunci când se lucrează cu o mulțime de numere binare de 16 sau 32 de biți.
O modalitate obișnuită de a depăși această problemă este de a aranja numerele binare în grupuri sau seturi de patru biți (4-bits). Aceste grupuri de 4 biți utilizează un alt tip de sistem de numerație, de asemenea utilizat în mod obișnuit în calculatoare și sisteme digitale, numit numere hexadecimale.
Siruri de numere hexadecimale
Sistemul de numerație „Hexadecimal” sau pur și simplu „Hex” utilizează sistemul de bază 16 și reprezintă o alegere populară pentru reprezentarea valorilor binare lungi, deoarece formatul lor este destul de compact și mult mai ușor de înțeles în comparație cu șirurile binare lungi de 1-uri și 0-uri.
fiind un sistem de Baza 16, sistemul de numerație hexazecimal utilizează, prin urmare, 16 (șaisprezece) cifre diferite cu o combinație de numere de la 0 la 15. Cu alte cuvinte, există 16 simboluri de cifre posibile.
Cu toate acestea, există o problemă potențială în utilizarea acestei metode de notare a cifrelor, cauzată de faptul că cifrele zecimale 10, 11, 12, 13, 14 și 15 sunt scrise în mod normal folosind două simboluri adiacente. De exemplu, dacă scriem 10 în hexazecimal, ne referim la numărul zecimal zece sau la numărul binar de doi (1 + 0). Pentru a ocoli această problemă delicată, numerele hexazecimale care identifică valorile zece, unsprezece, . . . , cincisprezece sunt înlocuite cu literele majuscule A, B, C, D, E și, respectiv, F.
Atunci, în sistemul de numerație hexadecimal, folosim numerele de la 0 la 9 și literele majuscule de la A la F pentru a reprezenta echivalentul său binar sau zecimal, începând cu cifra cea mai puțin semnificativă din partea dreaptă.
După cum tocmai am spus, șirurile binare pot fi destul de lungi și dificil de citit, dar ne putem face viața mai ușoară împărțind aceste numere binare mari în grupuri pare pentru a le face mult mai ușor de scris și de înțeles. De exemplu, următorul grup de cifre binare 1101 0101 1100 11112 este mult mai ușor de citit și de înțeles decât 1101010101110011112 atunci când sunt grupate toate laolaltă.
În utilizarea de zi cu zi a sistemului de numerație zecimal folosim grupuri de trei cifre sau 000 din partea dreaptă pentru a face un număr foarte mare, cum ar fi un milion sau un trilion, mai ușor de înțeles și același lucru este valabil și în sistemele digitale.
Numelexadecimal este un sistem mai complex decât utilizarea doar a numerelor binare sau zecimale și este utilizat în principal atunci când avem de-a face cu computere și locații de adrese de memorie. Prin împărțirea unui număr binar în grupuri de 4 biți, fiecare grup sau set de 4 cifre poate avea acum o valoare posibilă cuprinsă între „0000” (0) și „1111” ( 8+4+2+1 = 15 ), ceea ce dă un total de 16 combinații de numere diferite de la 0 la 15. Nu uitați că „0” este, de asemenea, o cifră validă.
Ne amintim din primul nostru tutorial despre numerele binare că un grup de cifre pe 4 biți se numește „nibble” și, deoarece sunt necesari și 4 biți pentru a produce un număr hexazecimal, o cifră hexazecimală poate fi considerată, de asemenea, un nibble, sau o jumătate de octet. Apoi, sunt necesare două cifre hexazecimale pentru a produce un octet complet, variind de la 00 la FF.
De asemenea, deoarece 16 în sistemul zecimal este a patra putere a lui 2 ( sau 24 ), există o relație directă între numerele 2 și 16, astfel încât o cifră hexazecimală are o valoare egală cu patru cifre binare, deci acum q este egal cu „16”.
Din cauza acestei relații, patru cifre dintr-un număr binar pot fi reprezentate cu o singură cifră hexazecimal. Acest lucru face ca conversia între numerele binare și hexadecimale să fie foarte ușoară, iar hexadecimalul poate fi folosit pentru a scrie numere binare mari cu mult mai puține cifre.
Numerele de la 0 la 9 sunt încă folosite ca în sistemul zecimal original, dar numerele de la 10 la 15 sunt acum reprezentate de literele majuscule ale alfabetului de la A la F inclusiv, iar relația dintre zecimal, binar și hexadecimal este dată mai jos.
Numerele hexadecimale
Numerele zecimale | 4…bit Număr binar | Număr hexazecimal |
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
16 | 0001 0000 | 10 (1+0) |
17 | 17 | 11 (1+1) |
Continuând în sus în grupuri de patru |
Utilizând numărul binar original de mai sus 1101 0101 1100 11112, acesta poate fi acum convertit într-un număr hexazecimal echivalent de D5CF, care este mult mai ușor de citit și de înțeles decât un rând lung de 1 și 0 pe care îl aveam înainte.
Astfel, prin utilizarea notației hexazecimale, numerele digitale pot fi scrise folosind mai puține cifre și cu o probabilitate mult mai mică de apariție a unei erori. În mod similar, conversia numerelor bazate pe hexazecimal înapoi în binar este pur și simplu operația inversă.
Atunci, principalele caracteristici ale unui sistem de numerație hexazecimal sunt că există 16 cifre distincte de numărare de la 0 la F, fiecare cifră având o pondere sau o valoare de 16 începând cu bitul cel mai puțin semnificativ (LSB). Pentru a distinge numerele hexazecimale de numerele denariale, înainte de valoarea efectivă a numărului hexazecimal, #D5CF sau $D5CF, se folosește un prefix format fie dintr-un „#”, (Haș), fie dintr-un „$” (semnul dolarului).
Cum baza unui sistem hexazecimal este 16, care reprezintă, de asemenea, numărul de simboluri individuale folosite în sistem, indicele 16 este folosit pentru a identifica un număr exprimat în hexazecimal. De exemplu, numărul hexazecimal anterior se exprimă astfel: D5CF16
Contează folosind numere hexazecimale
Acum știm cum să convertim 4 cifre binare într-un număr hexazecimal. Dar dacă am avea mai mult de 4 cifre binare, cum am putea număra în hexazecimal dincolo de litera finală F. Răspunsul simplu este să o luăm de la capăt cu un alt set de 4 biți, după cum urmează.
0…până la…9, A,B,C,D,E,F, 10…până la…19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21….etc
Nu vă confundați, 10 sau 20 NU este zece sau douăzeci, este 1 + 0 și 2 + 0 în hexadecimal. De fapt, douăzeci nici măcar nu există în hexazecimal. Cu două numere hexazecimale putem număra până la FF care este egal cu 255 în zecimal. De asemenea, pentru a număra mai mult decât FF, trebuie să adăugăm o a treia cifră hexadecimală la stânga, astfel încât primul număr hexazecimal pe 3 biți să fie 10016 (25610), iar ultimul să fie FFF16 (409510). Numărul hexazecimal maxim de 4 cifre este FFFF16, care este egal cu 65.535 în zecimal și așa mai departe.
Reprezentarea unui număr hexazecimal
MSB | Număr hexazecimal | LSB | ||||||
168 | 167 | 166 | 165 | 164 | 163 | 162 | 161 | 160 |
4.3G | 2.6G | 16M | 1M | 65k | 4k | 256 | 16 | 1 |
Această adăugare de cifre hexazecimale suplimentare pentru a converti atât numerele zecimale cât și cele binare într-un număr hexazecimal este foarte ușoară dacă există 4, 8, 12 sau 16 cifre binare de convertit. Dar putem, de asemenea, să adăugăm zerouri în stânga bitului cel mai semnificativ, MSB, dacă numărul de biți binari nu este un multiplu de patru.
De exemplu, 110010110110012 este un număr binar de paisprezece biți care este prea mare pentru doar trei cifre hexazecimale, dar prea mic pentru un număr hexazecimal de patru. Răspunsul este să ADĂUGĂM zerouri suplimentare la cel mai din stânga bit până când avem un set complet de numere binare de patru biți sau multiplii acestora.
Adăugarea de 0-uri suplimentare la un număr binar
Număr binar | 0011 | 0010 | 1101 | 1001 | |
Număr hexazecimal | 3 | 2 | 2 | D | 9 |
Principalul avantaj al unui număr hexazecimal este că este foarte compact și, prin utilizarea unei baze de 16, înseamnă că numărul de cifre utilizate pentru a reprezenta un anumit număr este de obicei mai mic decât în binar sau zecimal. De asemenea, este rapid și ușor de convertit între numerele hexazecimale și cele binare.
Numerele hexazecimale Exemplu nr. 1
Convertiți următorul număr binar 1110 10102 în echivalentul său în număr hexazecimal.
Număr binar = 111010102 | |||
Grupați biții în patru începând din partea dreaptă | |||
= | 1110 | 1010 | |
Găsiți echivalentul zecimal al fiecăruia dintre ei grup individual | |||
= | 14 | 10 | (în zecimal) |
Convertiți în hexazecimal folosind tabelul de mai sus | |||
= | E | A | (în hexazecimal) |
Apoi, echivalentul hexazecimal al numărului binar
1110 10102 este #EA16 |
Numerele hexazecimale Exemplul nr. 2
Convertiți următorul număr hexazecimal #3FA716 în echivalentul său binar și, de asemenea, în echivalentul său zecimal sau denar, folosind indicele pentru a identifica fiecare sistem de numerație.
#3FA716
= 0011 1111 1010 01112
= (8192 + 4096 + 2048 + 1024 + 512 + 256 + 256 + 128 + 128 + 32 + 4 + 2 + 1)
= 16,29510
Apoi, numărul zecimal 16,295 poate fi reprezentat astfel:
:-
#3FA716 în hexazecimal
sau
0011 1111 1010 01112 în binar.
Rezumat al numerelor în hexadecimal
Pentru a rezuma apoi. Sistemul de numerație hexazecimal, sau hexagonal, este utilizat în mod obișnuit în calculatoare și în sistemele digitale pentru a reduce șirurile mari de numere binare la un set de patru cifre pe care să le înțelegem cu ușurință. Cuvântul „Hexadecimal” înseamnă șaisprezece, deoarece acest tip de sistem de numerație digitală utilizează 16 cifre diferite de la 0 la 9 și de la A la F.
Numele hexadecimale grupează numerele binare în seturi de patru cifre. Pentru a converti o secvență binară într-un număr hexazecimal echivalent, trebuie mai întâi să grupăm cifrele binare într-un set de 4 biți. Aceste seturi binare pot avea orice valoare de la 010 ( 00002 ) până la 1510 ( 11112 ) reprezentând echivalentul hexazecimal de la 0 până la F.
În următorul tutorial despre Logica Binară vom analiza conversia șirurilor întregi de numere binare într-un alt sistem de numerație digitală numit Numere Octale și invers.