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 🎨).
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₁₆
1100110010011110₂ → ?₁₆Megoldás
Lépések: 1100 | 1100 | 1001 | 1110
Átváltás: 1100=C, 1100=C, 1001=9, 1110=E
Megoldás: CC9E₁₆
1001.011011₂ → ?₁₆Megoldás
Egész rész: 1001 → 9
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
2F9A₁₆ → ?₂Megoldás
Hex → 4 bit:2 → 0010, F → 1111, 9 → 1001, A → 1010
Megoldás: 0010 1111 1001 1010₂
7D.3₁₆ → ?₂Megoldás
Egész: 7 → 0111, D → 1101
Tört: 3 → 0011
Megoldás: 0111 1101 . 0011₂
AF5₁₆ → ?₂Megoldás
Hex → bináris: A → 1010, F → 1111, 5 → 0101
Megoldás: 1010 1111 0101₂
Gyakoroljunk: decimálisból hexába
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 9→AB9₁₆
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₁₆
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.216 → 5, új tört: 0.216
-
0.216 × 16 = 3.456 → 3, új tört: 0.456
-
0.456 × 16 = 7.296 → 7, … (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
3C7₁₆ → ?₁₀Megoldás
3 × 16² = 3 × 256 = 768C(=12) × 16¹ = 12 × 16 = 1927 × 16⁰ = 7
Összeg: 768 + 192 + 7 = 967₁₀
1FA.1A₁₆ → ?₁₀Megoldás
Feladat: 1FA.1A₁₆ → ?₁₀
Egész:1 × 16² = 256, F(15) × 16¹ = 240, A(10) × 1 = 10 → 506
Tört:1 × 16⁻¹ = 1/16 = 0.0625A(10) × 16⁻² = 10/256 = 0.0390625
Összesen: 506 + 0.0625 + 0.0390625 = 506.1015625₁₀
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₁₀
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
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...
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...
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...




