If you're seeing this message, it means we're having trouble loading external resources on our website.

Ha webszűrőt használsz, győződj meg róla, hogy a *.kastatic.org és a *.kasandbox.org nincsenek blokkolva.

Fő tartalom

Hexadecimális számok

A számítógépek számára a bináris számok kiválóan alkalmasak a számok ábrázolására. Az emberek számára azonban nem olyan nagyszerűek – nagyon hosszúak, és sokáig tart megszámolni az összes 1-est és 0-t. Amikor az informatikusok számokkal foglalkoznak, gyakran használják a decimális vagy a hexadecimális számrendszert. Igen, még egy számrendszer!
Szerencsére a számrendszerek jobban hasonlítanak egymásra, mint amennyire különböznek, és most, hogy már ismered a decimális és a bináris számrendszert, a hexadecimális számrendszer remélhetőleg érthető lesz.
A decimális számrendszerben minden számjegy 10 egy-egy hatványát jelenti – az egyesek helye, a tízesek helye stb. A 10-et a decimális vagyis tízes számrendszer alapjának nevezzük.
Mérd fel tudásodat!
Mi az alapja a bináris rendszernek?
Minden egyes számjegy a
  • A helyes megoldás:
  • egész szám, például 6
  • egyszerűsített valódi tört, például 3, slash, 5
  • egyszerűsített áltört, például 7, slash, 4
  • vegyes szám, például 1, space, 3, slash, 4
  • véges tizedes tört, például 0, comma, 75
  • A pí többszöröse, például 12, space, start text, p, i, end text vagy 2, slash, 3, space, start text, p, i, end text
egy hatványát jelenti.

A hexadecimális rendszerben minden egyes számjegy 16 hatványát jelenti.
Így számolunk 10-ig hexadecimálisban: 1, 2, 3, 4, 5, 6, 7, 8, 9, start text, A, end text.
Ez elég ismerős az utolsó „számig”, az start text, A, end text-ig. A hexadecimális rendszerben ugyanis minden egyes számjegynek a 0-15 értékeket kell megadnia, de a 10-15 decimális számok nem férnek el egyetlen számjegyben. Ennek kiküszöbölésére a hexadecimális rendszer az start text, A, end text-start text, F, end text betűket használja a 10-15-ig terjedő számok jelölésére.
Számoljunk el 10-től 15-ig: start text, A, end text, start text, B, end text, start text, C, end text, start text, D, end text, start text, E, end text, start text, F, end text. Furcsa, de így helyes!
Jó néhány különböző javaslat született az évek során a 10-15-ös értékek jelölésére, de az start text, A, end text-start text, F, end text maradt a nyerő.
Számoljunk most nagyobb számokkal! Íme a 24 decimális szám, amelyet hexadecimálisan 18-ként ábrázolunk:
18
161
16, start superscript, 1, end superscript16, start superscript, 0, end superscript
Ehhez a számhoz két számjegyre van szükség, ahol a jobb oldali számjegy az egyesek helyét (16, start superscript, 0, end superscript), a bal oldali számjegy pedig a tizenhatosok helyét (16, start superscript, 1, end superscript) jelöli. Ugyanúgy, ahogyan a decimális és bináris számokat összeadtuk, összeadhatjuk az left parenthesis, 1, dot, 16, right parenthesis, plus, left parenthesis, 8, dot, 1, right parenthesis-et, és láthatjuk, hogy a hexadecimális 18 egyenlő a decimális 24 értékkel.
Számoljunk olyan számmal, amelyben betű van! Nézzük a 27 decimális számot, melyet hexadecimálisan 1, start text, B, end text-ként ábrázolunk:
1start text, B, end text
161
16, start superscript, 1, end superscript16, start superscript, 0, end superscript
Ahhoz, hogy ezt megértsük, először is emlékeznünk kell arra, hogy a start text, B, end text a 11 értéket képviseli. Én ezt úgy csinálom, hogy az ujjaimon számolom a betűket, de számolhatsz, ahogy akarsz, csak ne feledd, hogy a 10-es értéket jelentő start text, A, end text-val kezdd.
Ezután összeadhatjuk, mint korábban, és láthatjuk, hogy left parenthesis, 1, dot, 16, right parenthesis, plus, left parenthesis, 1, dot, 11, right parenthesis egyenlő a 27 decimális értékkel.
Mérd fel tudásodat!
Lássuk, van-e ennek értelme. Milyen decimális értéket képvisel az 1, start text, F, end text hexadecimális szám?
  • A helyes megoldás:
  • egész szám, például 6
  • egyszerűsített valódi tört, például 3, slash, 5
  • egyszerűsített áltört, például 7, slash, 4
  • vegyes szám, például 1, space, 3, slash, 4
  • véges tizedes tört, például 0, comma, 75
  • A pí többszöröse, például 12, space, start text, p, i, end text vagy 2, slash, 3, space, start text, p, i, end text

Miért 16-os alapú?

Ezen a ponton talán elgondolkodtál azon, hogy mi az, amit az informatikusok annyira szeretnek a hexadecimális rendszerben. Miért használunk olyan rendszert, ahol a számok ábrázolásához betűk kellenek? Egy kis kitérő a történelembe elárulja, hogy miért...
A korai számítógépek 4-bites architektúrát használtak, ami azt jelentette, hogy a biteket mindig 4-es csoportokban dolgozták fel. Ezért írjuk még mindig 4-es csoportokban a biteket, például amikor 0111-et írunk a decimális 7 ábrázolására, pedig írhatnánk 111-et is.
Hány értéket képviselhet 4 bit? A legkisebb érték 0 (minden 0, 0000) és a legnagyobb érték 15 (minden 1, 1111), tehát 4 bit 16 egyedi értéket képviselhet. Aha, innen jön a 16-os szám!
A bináris rendszer minden 4 bitből álló csoportja egyetlen számjegyet jelent a hexadecimális rendszerben. Ez nagyon megkönnyíti a bináris számok hexadecimális számokká történő átalakítását, és a számítógépek számára is jól kezelhető.

Átváltás binárisból hexadecimálisba

Bizonyítsuk be binárisról hexadecimálisra való átváltással, hogy a bináris és a hexadecimális számok mennyire jól kijönnek egymással!
Kezdjük egy rövid bináris számmal:
0010, start text, end text
Ez 4 bit hosszú, ami azt jelenti, hogy egyetlen hexadecimális számjegyre alakítható át. A kettes számjegy kivételével minden helyen 0 van, így ez a szám a 2 decimális számnak felel meg. A decimális és a hexadecimális rendszer a 0-9 számokat ugyanúgy ábrázolja, így a 0010 egyszerűen 2 hexadecimálisan.
Folytassuk egy kicsit hosszabb bináris számmal:
1001101001101100, start text, end text
Az egyik megközelítés az lenne, hogy kiszámoljuk, melyik decimális számot jelenti ez a hosszú 1-es és 0-s karakterlánc, majd ezt átkonvertáljuk hexadecimálisra. Ez a megközelítés működne, de nagyon sok munkának tűnik egy ilyen hosszú számhoz.
Az egyszerűbb megközelítés az, ha a 4 bitből álló csoportokat egyenként átalakítjuk.
Kezdjük a bal szélső, 1001 csoporttal, amely left parenthesis, 1, dot, 8, right parenthesis, plus, left parenthesis, 1, dot, 1, right parenthesis, azaz a 9 decimális számmal egyenlő. Ez a szám kisebb, mint 10, így 1001 egyszerűen 9 hexadecimális számként.
A következő csoport az 1010, vagy left parenthesis, 1, dot, 8, right parenthesis, plus, left parenthesis, 1, dot, 2, right parenthesis, a decimális értéke 10. Ezt a számot hexadecimálisan egy betűvel, start text, A, end text-val ábrázoljuk.
A következő csoport a 0110, vagy left parenthesis, 1, dot, 4, right parenthesis, plus, left parenthesis, 1, dot, 2, right parenthesis, decimális értéke 6. Ez a szám hexadecimálisan ugyanez, 6.
A végső csoport 1100, vagy left parenthesis, 1, dot, 8, right parenthesis, plus, left parenthesis, 1, dot, 4, right parenthesis, decimális értéke 12. Ezt a számot hexadecimálisan egy betűvel, start text, C, end text-vel ábrázoljuk.
A hexadecimális végeredmény 9, start text, A, end text, 6, start text, C, end text. Ezt az átalakítást anélkül végeztük el, hogy valaha is rájöttünk volna, milyen decimális számot ábrázol. Most elárulom, hogy mind az 1001101001101100, mind a 9, start text, A, end text, 6, start text, C, end text egyenlő a 39532 decimális számmal. Ez jó nagy szám, örülök, hogy számjegyenként alakítottuk át.
Mérd fel tudásodat!
Most próbáld ki te! Milyen hexadecimális számot jelent ez a bináris szám?
1011100100011000, start text, end text
Válassz egyet:

Mintázatok hexadecimális számokban

Ismerj meg néhány szabályszerűséget a hexadecimális rendszerrel kapcsolatban!
Először is: egy adott számjegyszám esetén melyik az a legnagyobb szám, amelyet ezzel a hosszúsággal ki lehet fejezni? A decimális számrendszerben az, amelyiknek az összes számjegye 9, például 9999. A bináris rendszerben az, ahol az összes számjegy 1, például 1111.
A hexadecimális számrendszerben az, amikor minden számjegy helyén start text, F, end text áll, start text, F, F, F, F, end text. Amikor egy ilyen számot látunk, tudjuk, hogy az adott számjegyhossz lehető legmagasabb értékét jelenti. Bármilyen magasabb szám ábrázolásához több számjegyre lenne szükségünk.
Oké, de mekkora egy ilyen nagy szám? Ugyanazt a szabályt használhatjuk, amit a bináris számoknál is: a legnagyobb szám, amelyet n számjeggyel lehet ábrázolni, megegyezik 16, start superscript, n, end superscript, minus, 1-gyel. Most, hogy a 2-es alap helyett a 16-os alappal van dolgunk, lehet, hogy elő kell vennünk egy számológépet, hogy erre rájöjjünk.
Íme egy táblázat az első négy legnagyobb értékről:
SzámjegyekLegnagyobb hexadecimális számDecimális megfelelő
1start text, F, end text15, left parenthesis, 16, start superscript, 1, end superscript, minus, 1, right parenthesis
2start text, F, F, end text255, left parenthesis, 16, squared, minus, 1, right parenthesis
3start text, F, F, F, end text4095, left parenthesis, 16, cubed, minus, 1, right parenthesis
4start text, F, F, F, F, end text65535, left parenthesis, 16, start superscript, 4, end superscript, minus, 1, right parenthesis
Mérd fel tudásodat!
A táblázatban az egyes számjegyek számához tartozó legmagasabb értékek láthatóak. Hány egyedi értéket lehet összesen 2 számjeggyel ábrázolni?
  • A helyes megoldás:
  • egész szám, például 6
  • egyszerűsített valódi tört, például 3, slash, 5
  • egyszerűsített áltört, például 7, slash, 4
  • vegyes szám, például 1, space, 3, slash, 4
  • véges tizedes tört, például 0, comma, 75
  • A pí többszöröse, például 12, space, start text, p, i, end text vagy 2, slash, 3, space, start text, p, i, end text

A hexadecimális számok használata

Ebben a számítógépek működéséről szóló anyagrészben főként bináris számokkal fogunk foglalkozni. Fontos azonban, hogy a hexadecimális rendszert is megértsük, mert a későbbi témakörök során és általában a programozók életében is felbukkan majd.
Egy példa a saját életemből: a webfejlesztők hexadecimális számokat használnak a színek ábrázolására. A színeket három összetevő kombinációjaként írjuk le: piros, zöld és kék. Ezen összetevők mindegyike 0 és 255 között változhat. Egy olyan szín, mint a kék, írható rgb(0, 0, 255)-ként vagy a tömörebb hexadecimális változatban, #0000FF. Ezzel a jelöléssel 16, start superscript, 6, end superscript egyedi színt írhatunk le – több mint 16 millió színt!
Most, hogy már tudsz a hexadecimális számokról, tartsd nyitva a szemed. Gyakran látod majd őket 0x kezdettel, például 0x4F, vagy egyszerűen csak felismerheted őket a 0-9 és az A-F számok jellegzetes keverékeként. Ha érdekes felhasználási módokra bukkannál, oszd meg őket a „Jó tanácsok és köszönet” résznél.

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Kérdéseid vannak a témával kapcsolatban? Szívesen válaszolunk – tedd fel őket bátran alább!

Szeretnél részt venni a beszélgetésben?

Még nincs hozzászólás.
Tudsz angolul? Kattints ide, ha meg szeretnéd nézni, milyen beszélgetések folynak a Khan Academy angol nyelvű oldalán.