Ce este un sistem pozițional
În numărul zecimal 4.095, cifra 4 nu valorează 4: valorează 4.000, pentru că se află la locul miilor. Fiecare poziție înmulțește cifra cu o putere a lui 10 (1, 10, 100, 1.000…). Acesta este sistemul pozițional, iar baza este numărul de cifre diferite folosite: zece în sistemul zecimal.
Binarul funcționează la fel, dar cu baza 2: există doar 0 și 1, iar fiecare loc valorează dublul celui anterior. Hexazecimalul folosește baza 16: cele șaisprezece cifre sunt de la 0 la 9 și literele de la A la F, iar fiecare loc valorează de 16 ori mai mult decât cel anterior. Calculatoarele lucrează în binar pentru că un circuit trebuie să distingă doar două stări (oprit și pornit), iar hexazecimalul este un mod scurt de a scrie acei biți.
| Poziție (de la dreapta la stânga) | Valoare în binar | Valoare în hexazecimal |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 16 |
| 3 | 4 | 256 |
| 4 | 8 | 4.096 |
| 5 | 16 | 65.536 |
| 6 | 32 | 1.048.576 |
| 7 | 64 | 16.777.216 |
| 8 | 128 | 268.435.456 |
Din binar în zecimal, de mână
Scrii fiecare cifră cu valoarea locului ei și aduni doar locurile în care există un 1. Exemplu cu 1101: de la dreapta la stânga locurile valorează 1, 2, 4 și 8.
- Scrie numărul și dedesubt valoarea fiecărei poziții: 1 1 0 1 deasupra lui 8 4 2 1.
- Uită-te ce este în fiecare loc: un 1 la locul lui 8, un 1 la locul lui 4, un 0 la locul lui 2 și un 1 la locul lui 1.
- Ignoră locurile care au un 0 (aici, cel al lui 2).
- Adună: 8 + 4 + 0 + 1 = 13. Deci 1101 în binar este 13 în zecimal.
Cu mai multe cifre este la fel: 11111111 este 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, cea mai mare valoare care încape în 8 biți. Iar 10110110 este 128 + 32 + 16 + 4 + 2 = 182.
Din zecimal în binar, prin împărțiri succesive
Împarți numărul la 2 din nou și din nou, notând restul fiecărei împărțiri (mereu 0 sau 1), până ajungi la câtul 0. Resturile, citite de jos în sus, sunt numărul binar. Exemplu cu 45:
- 45 ÷ 2 = 22, rest 1
- 22 ÷ 2 = 11, rest 0
- 11 ÷ 2 = 5, rest 1
- 5 ÷ 2 = 2, rest 1
- 2 ÷ 2 = 1, rest 0
- 1 ÷ 2 = 0, rest 1
Citind resturile de jos în sus obții 101101. Ca să verifici, adună: 32 + 8 + 4 + 1 = 45.
Există o metodă alternativă pe care mulți o preferă: scazi puteri ale lui 2, de la cea mai mare la cea mai mică. Pentru 200: intră 128 (rămâne 72), intră 64 (rămâne 8), nu intră 32 și 16, dar intră 8 (rămâne 0). Locurile folosite sunt 128, 64 și 8, deci 200 = 11001000.
Hexazecimal: șaisprezece cifre și un tabel la îndemână
Cum nu există cifre pentru 10 până la 15, se folosesc literele A, B, C, D, E și F. O cifră hexazecimală echivalează exact cu patru biți (un „nibble”), și de aceea este atât de practică: un octet, de 8 biți, se scrie cu doar două cifre hexazecimale.
Ca să treci din hexazecimal în zecimal, înmulțește fiecare cifră cu puterea lui 16 de la locul ei și adună. De exemplu, 3F = 3 × 16 + 15 = 63 și A3 = 10 × 16 + 3 = 163.
| Zecimal | Binar (4 biți) | Octal | Hexazecimal |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 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 |
De ce se folosește hexazecimalul: octeți, culori și adrese
Un octet are 8 biți și merge de la 0 la 255 (00000000 până la 11111111). Să scrii biți de mână este lent și duce ușor la greșeli; în hexazecimal același octet are două caractere, de la 00 la FF. Ca să treci din binar în hexazecimal, desparte biții în grupuri de câte patru, începând din dreapta, și înlocuiește fiecare grup cu cifra din tabel. Exemplu: 11010111 se împarte în 1101 și 0111, adică D și 7, deci valorează D7. În zecimal este 13 × 16 + 7 = 215.
Cel mai cunoscut caz sunt culorile web. În #FF8800 sunt trei octeți: FF pentru roșu (255), 88 pentru verde (136) și 00 pentru albastru (0). Este un portocaliu intens: tot roșul, ceva mai mult de jumătate din verde și deloc albastru. Hexazecimalul apare și în adrese de memorie, în coduri de eroare și în identificatori de rețea.
De la text la binar cu ASCII
Un calculator stochează fiecare literă ca pe un număr, iar acel număr ca pe biți. În tabelul ASCII, A este 65, care în binar pe 8 biți este 01000001. Cuvântul „Hi” are două litere: H este 72 (01001000) și i este 105 (01101001), deci se scrie 01001000 01101001. Cu „Hola” sunt 72, 111, 108 și 97, adică 01001000 01101111 01101100 01100001, sau în hexazecimal 48 6F 6C 61.
Instrumentul folosește codificarea UTF-8: pentru literele de bază ale englezei fiecare caracter ocupă un octet de 8 biți, dar un ș, o literă cu diacritice sau un emoji ocupă mai mulți octeți, deci dau mai mult de 8 biți. De exemplu, ș ocupă doi octeți: 11001000 10011001 (C8 99 în hexazecimal).
Cum faci toate acestea cu instrumentul
Convertorul „Binar, zecimal și hexazecimal” te ajută să-ți verifici calculele de mână sau să rezolvi numere lungi fără greșeli.
- Scrie numărul în câmpul bazei lui: „Zecimal (baza 10)”, „Binar (baza 2)”, octal sau „Hexazecimal (baza 16)”. Celelalte trei se completează singure.
- Dacă o cifră nu aparține bazei (un 2 în binar, de exemplu), instrumentul te avertizează.
- Pentru text, scrie-l în câmpul „Text” și uită-te la „Binar (8 biți pe caracter)” și la hexazecimalul pe octeți. Poți lipi și biți în grupuri de 8 ca să revii la text.
- Pentru baze mai rare, folosește „Orice bază (de la 2 la 36)”: alegi baza de plecare, baza de sosire și numărul.
Limitele: convertește doar numere întregi nenegative (fără zecimale și fără semn) și nu adaugă zerouri la început în locul tău, așa că dacă vrei 8 biți fixi trebuie să completezi de mână (13 este 00001101). Nimic din ce scrii nu iese din browserul tău.
Greșeli frecvente
- Să citești resturile invers: la împărțirile succesive primul rest este cifra cea mai din dreapta, nu cea mai din stânga.
- Să uiți zerourile de la început când sunt necesare: 13 este 1101, dar ca octet este 00001101. Contează când lungimea face parte din informație, ca la o culoare sau la o mască de rețea.
- Să confunzi litera O cu zero sau B hexazecimal (11) cu un 8 când copiezi. În hexazecimal literele valorează la fel cu majusculă sau cu literă mică, dar nu sunt același lucru cu o cifră.
- Să lași prefixul 0x sau semnul # la conversie: sunt doar marcaje care arată că numărul este hexazecimal și trebuie scoase înainte de a lipi.
- Să crezi că 10 în binar este zece: este doi. Același „10” valorează 2, 10 sau 16, după bază.
Exerciții rezolvate pentru practică
Încearcă să rezolvi fiecare exercițiu înainte să te uiți la răspuns și verifică apoi cu instrumentul.
- Transformă 10110110 în zecimal și în hexazecimal. Răspuns: 128 + 32 + 16 + 4 + 2 = 182; în grupuri de patru, 1011 0110 = B6.
- Transformă 200 în binar și în hexazecimal. Răspuns: 11001000 și C8 (12 × 16 + 8 = 200).
- Transformă 7F în binar. Răspuns: 7 = 0111 și F = 1111, deci 01111111, care în zecimal este 127.
- Scrie „OK” în binar. Răspuns: O este 79 și K este 75, adică 01001111 01001011.
Întrebări frecvente
Cum transform 1101 din binar în zecimal?
Aduni valorile locurilor în care există un 1: 8 + 4 + 1 = 13. A doua cifră din dreapta este un 0, deci 2 nu se adună.
Cât este 255 în binar și în hexazecimal?
255 este 11111111 în binar și FF în hexazecimal. Este cea mai mare valoare care încape într-un octet de 8 biți.
De ce folosește hexazecimalul litere?
Pentru că are nevoie de șaisprezece simboluri diferite, iar sistemul zecimal oferă doar zece (0 până la 9). De aceea A valorează 10, B valorează 11, C valorează 12, D valorează 13, E valorează 14 și F valorează 15.
Câte numere diferite se pot scrie cu 8 biți?
256, de la 0 la 255. În general, cu n biți se pot reprezenta 2 la puterea n valori.
Convertește instrumentul numere negative sau cu zecimale?
Nu, doar numere întregi nenegative. Pentru text folosește UTF-8, deci literele cu diacritice și emoji-urile dau mai mult de 8 biți.