Információs technológia

Hexadecimális számrendszer

Tudtad, hogy a számítógépek nem csak kettes számrendszerben gondolkodnak? A bináris az alap, de ha igazán gyorsan és átláthatóan szeretnénk leírni a biteket, akkor jön a képbe a hexadecimális számrendszer, vagyis a tizenhatos alapú világ.
Ebben a rendszerben nem csak a 0–9 számjegyeket használjuk, hanem még hat betűt is: A, B, C, D, E, F – pont mint egy kódolt nyelv, amit csak a digitális felfedezők értenek.

Ebben a leckében megtanulod, hogyan válthatsz át bináris, decimális és hexadecimális számok között, és miért nélkülözhetetlen ez a programozásban, a webfejlesztésben, sőt még a grafikai kódolásban is (igen, a színek hex kódjai is innen jönnek 🎨).

hexadecimális számrendszer anime stílusban

Mi az a hexadecimális számrendszer?

A hexadecimális számrendszer (más néven tizenhatos számrendszer) a számok leírásának egy különleges módja, amit főként a digitális technológiában és programozásban használnak.
Míg a tízes számrendszerben 10 különböző számjegyet használunk (0–9), addig itt 16 különböző jel áll rendelkezésre:

Decimális Hexadecimális Jelentés
0–9 0–9 Ugyanaz, mint a tízesben
10–15 A–F

Betűkkel jelöljük a nagyobb számokat

👉 Például:

  • A₁₆ = 10₁₀

  • B₁₆ = 11₁₀

  • C₁₆ = 12₁₀

  • D₁₆ = 13₁₀

  • E₁₆ = 14₁₀

  • F₁₆ = 15₁₀

Miért használjuk?

A számítógépek bináris (0 és 1) nyelvet értenek, de a hosszú bináris sorokat nehéz olvasni.
Ezért a fejlesztők a bináris biteket 4-es csoportokba rendezik, és minden 4 bitet egy hexadecimális jeggyel helyettesítenek.
Így sokkal rövidebb és átláthatóbb formában láthatjuk az adatokat.

Például:
Bináris: 1010 1101 0111 → Hexadecimális számrendszerben: AD7
Egy hexadecimális számjegy 4 bitet jelöl. Egy bájt (8 bit) két hexadecimális jeggyel írható le, pl. 11111111₂ = FF₁₆

Hol találkozhatsz vele?

 

  • HTML és CSS színekben, pl.: #FF6600 (narancssárga)
  • Memóriacímeknél programozásban
  • Hibakódoknál, hálózati címeknél (MAC, iPv6)
  • Assembler és alacsony szintű nyelvekben

Bináris számok átváltása hexadecimális alakba

A bináris számrendszer (kettes alapú) csak két számjegyet használ: 0 és 1.
A hexadecimális rendszer (tizenhatos alapú) ezzel szemben 16 különböző jelet tartalmaz (0–9, majd A–F).
A két rendszer közötti kapcsolat nagyon szoros, mert 4 bináris jegy pontosan 1 hexadecimális jegynek felel meg.

✳️ Átváltás menete

1. Írjuk le a bináris számot.

2. Csoportosítsuk a biteket 4-es csoportokba (jobbról balra haladva).
Ha az utolsó csoportban kevesebb mint 4 bit van, egészítsük ki nullákkal a bal szélén.

3. Minden 4 bites csoportot alakítsunk át a megfelelő hexadecimális jelre.

Példa 1 – Bináris → Hexadecimális

Bináris szám:

0001 1001 1011 0110 1001 1100 1110

 

4 bites csoport Hex érték
0001 1
1001 9
1011 B
0110 6
1001 9
1100 C
1110 E

Tehát:

00011001101101101001110011102 = 19B69CE16

Tipp tanuláshoz – Hex (0-F) – Bináris (0000-1111)

 

 

Hex Bináris
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

Jöhetnek a törtek?

Most, hogy megbeszéltük, hogy tudsz átváltani binárisból hexadecimális számrendszerbe, nézzük meg, mi van akkor, ha nem egész számunk van:

A szabály ugyanaz:

  • az egész részt jobbról balra 4 bites csoportokba szedjük;

  • a tört részt balról jobbra 4 bites csoportokba szedjük;

  • ha egy csoport nem 4 bites, nullával egészítjük ki a szélen.

például: 101011.01101₂ számot váltjuk most át: 
1. 0010 1011 – leválasztjuk a törtrészt és kiegészítjük 4 bitre
2.  .01101 – 0110 1000 – kiegészítjük a törtrészt is a szélén

Bináris szám:
101011.011012

Rész 4 bites csoportok Hex értékek
Egész rész 0010 | 1011 2
|
B
Tört rész 0110 | 1000 6
|
8

Tehát:

101011.011012 = 2B.6816
Ellenőrzés (fejben): 101011₂ = 43₁₀ → 2B₁₆ ✔️,
.01101₂ = 0.40625 → 6/16 + 8/256 = 0.375 + 0.03125 = 0.40625 ✔️

Váltsunk decimális számrendszerből hexadecimálisba

A tízes számrendszert (decimális rendszert) mindenki ismeri: ez a hétköznapi számírás, amit használunk a mindennapokban.
A számítógépek azonban a tizenhatos számrendszert (hexadecimális) is gyakran használják, mert sokkal rövidebben és áttekinthetőbben lehet vele leírni a bináris adatokat.

De hogyan jutunk el a tízes számrendszerből a tizenhatosba? 🤔
Két lépésben:

1. Az egész részt mindig 16-tal osztjuk, és a maradékokat visszafelé olvassuk ki.

2. A tört részt ezzel szemben 16-tal szorozzuk, és a képződő egész részeket egymás után írjuk.

Ez a két módszer együtt teszi lehetővé, hogy bármilyen valós számot hexadecimális formában is fel tudjunk írni.

Példa – Decimális → Hexadecimális (tört résszel)

Kiindulás:
12438.96410

Egész rész – osztás 16-tal

Osztandó Hányados (÷16) Maradék (hex)
12438 777 6
777 48 9
48 3 0
3 0 3

Az egész rész hexában a maradékok visszafelé olvasva:
3 0 9 6 → 3096

Tört rész – szorozd 16-tal

Érték × 16 Egész rész (hex) Maradék tört
0.964 × 16 = 15.424 F 0.424
0.424 × 16 = 6.784 6 0.784
0.784 × 16 = 12.544 C 0.544
0.544 × 16 = 8.704 8 0.704
0.704 × 16 = 11.264 B 0.264

A tört rész hex jegyei az egymás után kapott egész részek:
F 6 C 8 B → .F6C8B

Tehát:

12438.96410 = 3096.F6C8B16

🧭 Összefoglaló – Decimális → Hexadecimális

A tizenhatos számrendszerbe való átváltás két lépésből áll:

  • Egész rész: oszd 16-tal, és a maradékokat visszafelé olvasd ki.
  • Tört rész: szorozd 16-tal, és az így kapott egész részeket egymás után írd le.

💡 Minden maradék vagy egész rész 0–15 közé esik, így könnyen átírható a hexadecimális 0–9 és A–F jegyekre.

Egész rész → osztás, tört rész → szorzás.
Ennyi a titka a hexadecimális átváltásnak! 🚀

Gyakoroljunk: binárisból hexába

1. Feladat: 101011110101₂?₁₆

Megoldás

Lépések (4-es csoportok): 1010 | 1111 | 0101
Átváltás: 1010=A, 1111=F, 0101=5
Megoldás: AF5₁₆

2. Feladat: 1100110010011110₂?₁₆
Megoldás

Lépések: 1100 | 1100 | 1001 | 1110
Átváltás: 1100=C, 1100=C, 1001=9, 1110=E
Megoldás: CC9E₁₆

3. Feladat: 1001.011011₂?₁₆

Megoldás

Egész rész: 10019
Tört rész csoportosítva: .0110 1100 (jobbra nullával pótolva)
Átváltás: 0110=6, 1100=C
Megoldás: 9.6C₁₆

Gyakoroljunk: hexából binárisba

1. Feladat: 2F9A₁₆?₂

Megoldás

Hex → 4 bit:
2 → 0010, F → 1111, 9 → 1001, A → 1010
Megoldás: 0010 1111 1001 1010₂

2. Feladat: 7D.3₁₆?₂

Megoldás

Egész: 7 → 0111, D → 1101
Tört: 3 → 0011
Megoldás: 0111 1101 . 0011₂

3. Feladat: AF5₁₆?₂

Megoldás

Hex → bináris: A → 1010, F → 1111, 5 → 0101
Megoldás: 1010 1111 0101₂

Gyakoroljunk: decimálisból hexába

1. Feladat: 2745₁₀?₁₆

Megoldás

Osztás 16-tal (maradékok visszafelé):

  • 2745 ÷ 16 = 171, maradék 9

  • 171 ÷ 16 = 10, maradék 11 (=B)

  • 10 ÷ 16 = 0, maradék 10 (=A)
    Hex (visszafelé): A B 9AB9₁₆

2. Feladat: 58.625₁₀?₁₆

Megoldás

Egész rész: 58 ÷ 16 = 3, maradék 10 (=A)3A
Tört rész:

  • 0.625 × 16 = 10.0 → egész: A, új tört: 0
    Megoldás: 3A.A₁₆

3. Feladat: 3492.326₁₀?₁₆ (kerekítve 2 hex jegyre)

Megoldás

Egész rész:

  • 3492 ÷ 16 = 218, maradék 4

  • 218 ÷ 16 = 13, maradék 10 (=A)

  • 13 ÷ 16 = 0, maradék 13 (=D)
    DA4
    Tört rész (×16):

  • 0.326 × 16 = 5.2165, új tört: 0.216

  • 0.216 × 16 = 3.4563, új tört: 0.456

  • 0.456 × 16 = 7.2967, … (tovább folytatható)
    2 hexjegyre kerekítve: .53
    Megoldás (≈): DA4.53₁₆ (2 hexjegyre kerekítve a tört részt)

Gyakoroljunk: hexából decimálba

1. Feladat: 3C7₁₆?₁₀

Megoldás

3 × 16² = 3 × 256 = 768
C(=12) × 16¹ = 12 × 16 = 192
7 × 16⁰ = 7
Összeg: 768 + 192 + 7 = 967₁₀

2. Feladat: 1FA.1A₁₆?₁₀

Megoldás

Feladat: 1FA.1A₁₆?₁₀
Egész:
1 × 16² = 256, F(15) × 16¹ = 240, A(10) × 1 = 10506
Tört:
1 × 16⁻¹ = 1/16 = 0.0625
A(10) × 16⁻² = 10/256 = 0.0390625
Összesen: 506 + 0.0625 + 0.0390625 = 506.1015625₁₀

3. Feladat: A2.B₁₆?₁₀

Megoldás

Egész: A(10) × 16 + 2 = 160 + 2 = 162
Tört: B(11) × 16⁻¹ = 11/16 = 0.6875
Összesen: 162.6875₁₀

Boldog anime lány a digitális tanteremben, örül, mert befejezte és megértette a hexadecimális leckét.

Ha szeretnéd folytatni a tanulást, itt válogathatsz az információs technológia anyagok között

Legkisebb és legnagyobb decimális érték

Legkisebb és legnagyobb decimális érték

Ebben a leckében megtanuljuk, mit jelent egy számrendszerben a legkisebb és legnagyobb decimális érték. Megnézzük, hogyan lehet kiszámolni, meddig terjedhetnek a számok egy adott alapú rendszerben. Közben kiderül, hogy minden rendszernek megvannak a határai, de a...

bővebben
Helyiérték

Helyiérték

Nem elég tudni, hogy valahol egy egyes, kettes vagy hármas szám szerepel, azt is kell tudni, hogy hol van az a számjegy és mennyit ér ott.  Ebben a leckében megmutatjuk, hogyan lesz a tizedesvesszőn innen és túl minden szám mögött logika és szabály.  Ne aggódj, nem...

bővebben
Endinaitás

Endinaitás

Mi az az endianitás? Az endianitás lényege, hogy meghatározza, milyen sorrendben tárolja és olvassa ki a számítógép a több byte-ból álló adatokat.Másképp fogalmazva: amikor a gép elment egy számot, eldönti, melyik byte kerüljön előre és melyik hátra – ez alapján fogja...

bővebben