Skip to main content
🔬 Advanced

Calculator Hexazecimal

Convertește numere hexazecimale în zecimal, binar și octal. Calculează operații hex. Calculator online gratuit pentru programatori și ingineri.

Înțelegerea Hexadecimal (Bază-16): Fundamente

Hexadecimalul (hex) este un sistem numeral cu bază 16. El folosește șase simboluri distincte: cifrele 0–9 reprezintă valori de la zero la nouă, iar literele A–F (sau a–f) reprezintă valori de la zece la cincisprezece. Un singur digițit hexadecimal reprezintă exact patru biți binari (o "nibble"), făcând hexul cel mai natural mod de a reprezenta datele binare într-un format citit de om.

Valoarea pozițională a fiecărui digițit hex este o putere a 16. Pentru numărul hex 2F4:

Conversia de la decimal la hex: împărțiți în mod repetat cu 16 și înregistrați resturile (primul digițit din dreapta). 756 ÷ 16 = 47 R 4; 47 ÷ 16 = 2 R 15 (F); 2 ÷ 16 = 0 R 2. Citirea resturilor în sus: 2F4₁₆ ✓. În majoritatea limbajelor de programare, literalurile hex sunt prefixate cu 0x: 0x2F4 = 756.

Conversia Hex la Decimal

Referință rapidă pentru conversia singurilor cifre hex și valorile hex comune la decimal:

HexDecimalBinaryMeaning comună
0x0000000 0000Byte nul, fals, off
0x0110000 0001Adevărat, activat
0x0A100000 1010Caracter de nouă linie (LF)
0x0D130000 1101Caracter de returnare a carului (CR)
0x1F310001 1111Separatoare de unități
0x20320010 0000Caracterul spațiu (ASCII)
0x41650100 0001'A' în ASCII
0x61970110 0001'a' în ASCII (minusculă)
0x7F1270111 1111Caracterul DEL; maximul perechii de biți semnificativi
0x801281000 0000Bitul semnificativ setat (negativ în byte semnificativ)
0xFF2551111 1111Maximul byte nesignificativ; toate biții setați
0x1002561 0000 0000Unul mai mult decât maximul byte
0xFFFF65,53516 uniceMaximul valorii nesignificative de 16 biți
0xFFFFFF16,777,21524 uniceMaximul valorii de 24 biți (16M culori)

Relația între hex și binar este directă: fiecare digițit hex se mapă exact pe 4 biți. A = 1010, B = 1011, C = 1100, D = 1101, E = 1110, F = 1111. Convergerea 0xAB la binar: A=1010, B=1011 → 10101011₂ = 171₁₀.

Arithmetică Hex: Adunare, Scădere, Înmulțire

Arithmetică hex urmează aceleași reguli ca și aritmetica decimală, dar se efectuează operațiile de ridicare și de împrumut la 16 în loc de 10. Înțelegerea aritmeticii hex este esențială pentru programarea în limbaj de asamblare, sistemele embedite și citirea ieșirilor compilatorului.

Exemplu de adunare: 3A + 27. Unități: A + 7 = 10 + 7 = 17 = 1×16 + 1 → scrie 1, împrumută 1. Sferturi: 3 + 2 + 1 (împrumut) = 6. Rezultat: 61₁₆ = 97₁₀. Verifică: 58 + 39 = 97 ✓.

Exemplu de scădere: C3 − 5F. Unități: 3 < F (15), deci împrumută: 3 + 16 − 15 = 4, și împrumută 1 în următoarea coloană. Sferturi: C (12) − 5 − 1 (împrumut) = 6. Rezultat: 64₁₆ = 100₁₀. Verifică: 195 − 95 = 100 ✓.

Exemplu de înmulțire: 1A × 3. A × 3 = 30 = 1E₁₆ (scrie E, împrumută 1). 1 × 3 + 1 = 4. Rezultat: 4E₁₆ = 78₁₀. Verifică: 26 × 3 = 78 ✓.

Pentru calculele hex complexe, convertirea în decimal, calculul și convertirea înapoi este adesea mai fiabilă, cu excepția cazului în care sunteți foarte experimentat. Cu toate acestea, înțelegerea aritmeticii hex construiește intuiția pentru reprezentarea memoriei, registrele CPU și reprezentarea datelor.

Hex în Designul Web: Coduri de culoare

HTML și CSS color codes sunt una dintre cele mai vizibile aplicații ale hexului în afara programării. Culorile sunt exprimate ca #RRGGBB unde fiecare canal variază de la 00 (0 intensitate) la FF (255 = intensitate maximă). Acest lucru oferă 256³ = 16,777,216 de culori posibile.

Cod de culoare HexRoșuVerdeAlbNumele culorii
#FF000025500Culoarea pură roșie
#00FF0002550Culoarea pură verde (lămâie)
#0000FF00255Culoarea pură albastră
#FFFF002552550Galben
#FF00FF2550255Magenta
#00FFFF0255255Cian
#FFFFFF255255255Alb
#000000000Negru
#808080128128128Grăsimea medie
#FF57332558751Portocaliu-violet

CSS suportă și culori 4-digite (#RGBA) și 8-digite (#RRGGBBAA) hex unde AA este canalul alfa (00 = transparent, FF = opac). Forma scurtă a culorilor (#RGB) se extinde prin repetarea fiecărui digi: #F3A = #FF33AA.

Designerii web frecvent ajustează culorile modificând valoarea hex. Adăugarea la canalul roșu face culorile mai calde; subtracția le face mai reci. Culorile hex cu valori R, G și B egale produc tonuri de gri. O culoare ca #7F7F7F este exact 50% gri (127 din 255 pe fiecare canal).

Hex în Programare: Adrese de memorie și manipularea bitelor

In programarea sistemelor, hexul este limba naturală pentru adresele de memorie, flag-urile de bit și registrele hardware. Fiecare programator care lucrează în C, C++, asamblaj sau sisteme embeduite întâlnește constant hex.

Adrese de memorie: Pe un sistem de 32 de biți, adresele variază de la 0x00000000 la 0xFFFFFFFF (4 GB). Rândurile de adrese comune: 0x00000000–0x00FFFFFF (memorie joasă), 0x7FFFFFFF (intreg pozitiv maxim de 32 de biți), 0x80000000 (începutul spațiului negativ în interpretarea semnată), 0xFFFFFFFF (intreg maxim neînsemnat de 32 de biți). Pe sistemele de 64 de biți, spațiul utilizatorului ocupă de obicei 0x0000000000000000–0x00007FFFFFFFFFFF.

Manipularea bitelor cu măști hex: Operațiile de bit sunt exprimate natural în hex pentru că se aliniază cu limitele de nibble.

OperațieExprimareEffect
Setează bitul 3x |= 0x08Forțează bitul 3 la 1, lăsând ceilalalti neafectați
Șterge bitul 3x &= ~0x08Forțează bitul 3 la 0, lăsând ceilalți neafectați
Inversă bitul 3x ^= 0x08Întoarce bitul 3, lăsând ceilalți neafectați
Verifică bitul 3(x & 0x08) != 0Testează dacă bitul 3 este setat
Extrage nibblele inferioarex & 0x0FObține cele 4 biți inferiori
Extrage nibblele superioare(x >> 4) & 0x0FObține cele 4 biți superiori ai unui byte

Constantele hex celebre: Programatorii au creat constante memorabile pentru debbuging și inițializare: 0xDEADBEEF (folosit pentru a marca memoria neinițializată în sistemele vechi IBM), 0xCAFEBABE (numărul magic al fișierului Java), 0xFEEDFACE (formatul magic al fișierului Mach-O), 0x0BADF00D (sentinelă de memorie de debbuging), 0xDEADC0DE (folosit în detectarea craselor iOS). Aceste constante apar neambigu în dumpurile hex, făcându-le ușor de identificat în timpul debbugingului.

Semnăturile formatului fișierului și hexul în forenzi

Orice format de fișier are o secvență caracteristică de bytes la începutul său numită "număr magic" sau semnătură a fișierului. Editorii hex și instrumentele de forenză folosesc aceste semnături pentru a identifica tipurile de fișiere indiferent de extensia fișierului. Cunoașterea semnăturilor fișierelor este esențială pentru recuperarea datelor, analiza malware-ului și forenza digitală.

Tipul fișieruluiSemnătură hex (primii bytes)Reprezentarea ASCII
Imagine JPEGFF D8 FFÿØÿ
Imagine PNG89 50 4E 47 0D 0A 1A 0A.PNG....
Document PDF25 50 44 46%PDF
Arhiva ZIP50 4B 03 04PK..
Imagine GIF47 49 46 38GIF8
Executabil ELF (Linux)7F 45 4C 46.ELF
Executabil PE (Windows)4D 5AMZ
Audio MP3FF FB sau 49 44 33ÿû sau ID3
Base de date SQLite53 51 4C 69 74 65SQLite

Profesioniștii de securitate folosesc hex pentru a examina fișierele binare fără a-și încredința extensia fișierului. Un fișier numit "document.pdf" care începe cu 4D 5A este în realitate un executabil Windows — o trucă comună a malware-ului. Analiza hex a pachetelor de rețea dezvăluie structurile protocolului, capetele de criptare și potențialele explozii.

Compararea bazelor numerice: Decimal, Binary, Octal, Hex

Calculatoarele folosesc diferite baze numerice pentru scopuri diferite. Înțelegerea modului în care se relatează ajută la citirea documentației tehnice, debbuging și programare a sistemelor.

DecimalBinary (bază 2)Octal (bază 8)Hex (bază 16)
0000000
81000108
10101012A
15111117F
160001 00002010
640100 000010040
1281000 000020080
2551111 1111377FF
2561 0000 0000400100
1024100 0000 00002000400

Octal (bază 8) a fost odată comună în calcul (apare în permisiunile fișierelor Unix: chmod 755 = 111 101 101 în binar = rwxr-xr-x). Hex a înlocuit în mare parte octalul pentru cele mai multe scopuri deoarece 4 biți pe cifră (hex) se aliniază mai bine cu arhitecturile moderne de 8 biți, 16 biți, 32 biți și 64 biți decât 3 biți pe cifră (octal).

Întrebări frecvente

Cum pot converti rapid între hex și binar?

Fiecare cifră hex corespunde exact 4 biți binari: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000, 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. Pentru a converti 0xB7: B=1011, 7=0111 → 10110111₂. Pentru a converti 11001010₂: împărțiți în nibble: 1100=C, 1010=A → 0xCA.

De ce CSS folosește hex?

CSS folosește hex pentru că fiecare canal RGB (0-255) se potrivește exact în 2 cifre hex (00-FF). Formatul #RRGGBB este compact, neambiguu și se mapă direct pe modelul de culoare de 24 de biți utilizat de hardware-ul de afișare. HTML a adoptat culorile hex în anii 1990 din definițiile culorilor X11, și convenția a rămas standardă din acel moment.

Cât valorează 0xFF în decimale?

0xFF = 15×16 + 15 = 240 + 15 = 255. În binar, FF = 1111 1111, însemnând că toți 8 biți sunt setați. 255 este valoarea maximă a unui byte nerezervat (uint8), valoarea maximă pentru fiecare canal de culoare RGB și apare constant în rețele (255.255.255.255 este adresa de rețea de difuziune) și calculatoare.

Ce este diferența între 0x1F și 0xF1?

Acestea sunt numere diferite cu aceleași cifre în ordine diferită. 0x1F = 1×16 + 15 = 31 decimale. 0xF1 = 15×16 + 1 = 241 decimale. În binar: 0x1F = 0001 1111; 0xF1 = 1111 0001. Valoarea pozițională contează, la fel ca 19 ≠ 91 în decimale.

Câte cifre hex trebuie să reprezintă un număr de 32 de biți?

Exact 8 cifre hex (de văzut că 16⁸ = 2³², acoperind toate valorile de 32 de biți de la 0x00000000 la 0xFFFFFFFF). Adresele de memorie pe sistemele de 32 de biți sunt afișate ca numere hex de 8 cifre. Pentru numerele de 64 de biți, aveți nevoie de 16 cifre hex (0x0000000000000000 până la 0xFFFFFFFFFFFFFFFF).

Ce înseamnă prefixul "0x" în numerele hex?

Prefixul "0x" este o convenție de notare utilizată în C și majoritatea limbajelor de programare pentru a indica că următorul număr este hexazecimal. "0x" reprezintă "hex" (litera 'x' sugerează hexazecimal). Alte notări: 'h' în final în asamblaj (FFh), ' #' în CSS și în unele contexte (#FF0000), și prefixul $ în unele limbi vechi ($FF).

Cum se folosește hex în adresele IP?

Adresele IPv4 (de exemplu, 192.168.1.1) pot fi exprimate în hex: fiecare octet în hex. 192.168.1.1 = 0xC0 0xA8 0x01 0x01 = 0xC0A80101. Adresele IPv6 sunt deja scrise în hex: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Acest lucru face manipularea adresei IPv6 mult mai ușoară cu aritmetica hex.

Ce este un editor de hex și când aș folosi unul?

Un editor de hex afișează și editează fișierele ca biți raw în hexadecimal. Utilizări comune: examinarea semnăturilor de format de fișiere pentru a identifica tipurile de fișiere, editarea fișierelor de salvare binare ale jocurilor, reverse engineering-ul software-ului, analiza capturilor de rețea, recuperarea datelor din fișierele deteriorate și digitala forensica. Editori de hex populari includ HxD (Windows), hex fiend (Mac) și xxd (instrument de linie de comandă Unix).

De ce se folosește hex în loc de decimale în calculatoare?

Deoarece calculatoarele operează în binar (bază 2), și 16 = 2⁴ — hex se potrivește perfect cu binar. Un singur dig hex = 4 biți, două cifre hex = 1 byte (8 biți), patru cifre hex = 16 biți, opt cifre hex = 32 biți. Decimalele nu au o asemenea corespondență curată cu puterile lui 2, făcând hex mult mai natural pentru a exprima datele binare compact.

Cum pot converti o culoare hex în valori RGB?

Împărțiți culoarea hex în șase cifre în trei grupe de 2 cifre: #RRGGBB. Convertiți fiecare din hex la decimale. Exemplu: #4A90E2 → R=0x4A=74, G=0x90=144, B=0xE2=226. Așa că această culoare este rgb(74, 144, 226) — o culoare albastră medie. Pentru a inversa: convertiți fiecare valoare decimă în 2 cifre hex și concatenați-le: rgb(255, 87, 51) → #FF5733.

Hexadecimal în rețele și protocoale

Rețelele de calculatoare folosesc hexadecimal extensiv. Adresele MAC — identificatorii hardware pentru interfețe de rețea — sunt scrise ca 6 octeți hexezați separați prin puncte și virgule: de exemplu, 00:1A:2B:3C:4D:5E. Primii trei octeți (00:1A:2B) identifică producătorul (Identificator Unic Organizațional, OUI), în timp ce ultimii trei (3C:4D:5E) identifică dispozitivul specific.

Adresele IPv6 sunt de 128 de biți exprimate ca 8 grupe de 4 cifre hexezate: 2001:0DB8:AC10:FE01:0000:0000:0000:0000. Zerourile dinaintea grupelor pot fi omise și grupurile consecutive toate zero pot fi comprimate cu "::", dând 2001:DB8:AC10:FE01::. Înțelegerea hexului este esențială pentru citirea adreselor IPv6, mascării subrețelei și tabelului de rutare.

Frame-urile Ethernet, pachetele IP, segmentele TCP — toate au câmpuri exprimate în hex în instrumentele de analiză a rețelei ca Wireshark. Un pachet SYN TCP arată câmpul de flaguri ca 0x002 (doar bitul SYN setat); un SYN-ACK arată 0x012 (biturile SYN și ACK setate). Citirea acestor valori hex direct din capturi de pachete este o abilitate de bază de rezolvare a problemelor de rețea.

Unicode și Hex: Codificarea caracterelor

Unicode, standardele de codificare a caracterelor universale, atribuie fiecărui caracter un punct de cod exprimat în hex. Planul Multilingv Basic acoperă U+0000 până la U+FFFF. Exemple:

CaracterPunct de cod UnicodeCodificarea UTF-8 (hex)Descriere
AU+004141Litera mare latină A
αU+03B1CE B1Alpha mic grecesc
U+20ACE2 82 ACSimbolul euro
U+4E2DE4 B8 ADCaracterul chinezesc "centru"
😀U+1F600F0 9F 98 80Fața zâmbitoare
©U+00A9C2 A9Simbolul de copyright

Codificarea UTF-8 codifică caracterele ASCII (U+0000 până la U+007F) în 1 octet identic cu valoarea lor ASCII. Caracterele U+0080 până la U+07FF folosesc 2 octeți, U+0800 până la U+FFFF folosesc 3 octeți, iar caracterele dincolo de U+FFFF (cum ar fi majoritatea emoji) folosesc 4 octeți. Această codificare de lungime variabilă, reprezentată în hex, este motivul pentru care înțelegerea hexului este utilă atunci când se depistează probleme de codificare a textului în aplicațiile web.

{"@context":“https://schema.org”,"@type":“Pagină de Intrebări Frequentate”,“mainEntity”:[{"@type":“Intrebare”,“nume”:“Cum pot converti rapid între hex și binar?”,“răspuns acceptat”:{"@type":“Răspuns”,“text”:“Fiecare cifră hex corespunde exact 4 biți binari. A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. Astfel, 0xAF = 1010 1111 în binar. Această corespondență directă este de ce hexul este atât de util pentru programatori care lucrează cu date binare.”}},{"@type":“Intrebare”,“nume”:“De ce folosește CSS hex?”,“răspuns acceptat”:{"@type":“Răspuns”,“text”:“CSS folosește hex pentru că fiecare canal RGB (0-255) se potrivește în exact 2 cifre hex (00-FF), făcând reprezentarea compactă și predictibilă. #RRGGBB acoperă toate 16,7 milioane de culori posibile curat și mapă direct la modelul de culoare de 24 de biți folosit în hardware-ul de afișare.”}},{"@type":“Intrebare”,“nume”:“Ce înseamnă 0xFF în decimale?”,“răspuns acceptat”:{"@type":“Răspuns”,“text”:“0xFF = 15×16 + 15 = 240 + 15 = 255. În binar, FF = 1111 1111, care este un byte saturat complet. 255 apare constant în calculări ca valoarea maximă a unui byte neschimbat.”}}}