P’s komplemens képzés

P’s komplemens képzés

Információs technológia

P's komplemens képzés

Az előző részben megismertük, hogyan egészítjük ki a számokat úgy, hogy minden helyiértéken elérjük a maximumot — ez volt a p−1’s komplemens elve.
Most jön a trükk, amitől a számítógép még hatékonyabban számol: a p’s komplemens.

A p’s komplemens tulajdonképpen a „felturbózott” verzió.
Mindössze annyit csinálunk, hogy a korábban kapott komplemenshez hozzáadunk +1-et.
És ennyi – ezzel már nem csak kiegészítjük a számot, hanem elérjük a következő „alapértéket”:
a 10-es számrendszerben a 1000-et,
a binárisban a 1000₂-t.

Anime-lány magyarázza, hogyan lesz a kivonásból összeadás a +1 trükkel, azaz mi az a p's komplemens képzés

Ezzel a módszerrel a számítógép kivonás helyett is összeadással dolgozik.
Nincs külön kivonási művelet, nincs bonyolult logika – csak egyszerű, villámgyors aritmetika:
komplemens képzés + 1 = kivonás. ⚡

A következő példában ezt lépésről lépésre nézzük meg, és megnézzük, hogyan „gondolkodik” így a gép.

Miért van egyáltalán szükség a p’s komplemensre?

A számítógépek hihetetlenül gyorsak, de csak addig, amíg az elvégzendő művelet egyszerű.
Az összeadás például nagyon könnyű a gépnek – logikai kapukkal, bitek sorozatával pillanatok alatt elintézi. A kivonás viszont már egy sokkal bonyolultabb dolog lenne.

De miért bonyolult a kivonás?
Mert a gép nem „érti” a negatív számokat maguktól.
Ha azt mondanánk neki, hogy “számold ki 34 − 56”, ő csak nézne értetlenül – hiszen 56 nagyobb, mint 34.
Ezért kellett kitalálni egy okos trükköt, amivel a kivonás is elintézhető egy sima összeadással.

És itt lép be a komplemens képzés. 💡

A p−1’s komplemens már megmutatta, hogyan egészíthetünk ki egy számot a maximális értékig.
A p’s komplemens pedig még egy lépéssel továbbmegy:
ha az előző komplemenshez hozzáadunk +1-et, akkor már a rendszer alapértékéig (pⁿ-ig) egészítjük ki a számot.

Így kapjuk meg a p’s komplemenst, ami a számítógép titkos fegyvere a gyors kivonáshoz: a gép egyszerűen hozzáadja a p’s komplemenst, és megspórolja az egész kivonást.

Mi történik, amikor hozzáadjuk azt a bizonyos +1-et?

A „p–1-es komplemens” az volt, hogy a számot a legnagyobb lehetséges értékig (pⁿ−1) egészítjük ki.
A „p’s komplemens” viszont a teljes körig, pⁿ-ig egészít — ez az apró különbség az egész lényege.

🔹 Vegyünk egy példát

p = 10
N = 3
x = 234

A p–1-es komplemens (9-es komplemens) az volt: 999 − 234 = 765

Most, hogy p’s komplemenst kapjunk, hozzáadunk +1-et → 765 + 1 = 766

Azt, hogy ha 234-hez hozzáadod a saját p’s komplemensét (766), akkor pont 10³ = 1000 lesz az eredmény.

Na most: ha három jegyen (N=3) dolgozunk, akkor a 1000 már túl nagy — 4 jegyű!
A gép viszont csak 3 jegyet tud tárolni, ezért az ezrest (a legbaloldalibb számjegyet) egyszerűen eldobja.

És itt jön a „túlcsordulás” (overflow):
az a „1” a 1000 elején kiesik a rendszerből, mert nincs helye. A szám visszateker 000-ra — mintha körbeért volna. Ezért mondjuk, hogy a p’s komplemens „átcsordulással” működik.

Miért pont ez segít a kivonásnál?

Mert nézd meg, mit csináltunk valójában:

  • 234 + 766 = 1000

  • A túlcsorduló 1 eltűnik → marad 000

De ha nem az egész számot, hanem egy másik értéket vonnál ki, például 500 − 234, akkor így számolna a gép:

1️⃣ Kiszámítja a kivonandó (234) p’s komplemensét: 766
2️⃣ Összeadja a másikkal: 500 + 766 = 1266
3️⃣ Kidobja a túlcsorduló ezrest (pⁿ = 1000) → marad 266

És láss csodát:
500 − 234 = 266

Tehát: A gép a kivonást p’s komplemenssel való összeadásként számolja ki.

Nincs negatív logika — csak egy egyszerű összeadás. 

Feladatok

1. feladat: számold ki a „gép fejével”, hogyan végezné el az alábbi kivonást:

500-234 = 266

Megoldás

A gép fejével: p’s komplemens módszer, p = 10, N = 3

1️⃣ Kiszámítja a kivonandó (234) 9-es komplemensét:
999 − 234 = 765

2️⃣ Ehhez hozzáad +1-et, hogy megkapja a 10-es komplemenst:
765 + 1 = 766

3️⃣ Most összead:
500 + 766 = 1266

4️⃣ A legbaloldali jegy (1) túlcsordul → leesik
→ marad 266

Eredmény: 266

2. feladat: számold ki a „gép fejével”, hogyan végezné el az alábbi kivonást:

120-89 = 31

Megoldás

A gép fejével: p’s komplemens módszer, p = 10, N = 3

1️⃣ 999 − 089 = 910

2️⃣ Ehhez hozzáad +1-et, hogy megkapja a 10-es komplemenst:
910 + 1 = 911

3️⃣ Most összead:
120 + 911 = 1031

4️⃣ A legbaloldali jegy (1) túlcsordul → leesik
→ marad 031

Eredmény: 31

3. feladat: számold ki a „gép fejével”, hogyan végezné el az alábbi kivonást:

402 – 756 = -354

Megoldás

A gép fejével: p’s komplemens módszer, p = 10, N = 3

1️⃣ 999 − 756 = 243

2️⃣ Ehhez hozzáad +1-et, hogy megkapja a 10-es komplemenst:
243 + 1 = 244 

3️⃣ Most összead:
402 + 244 = 646

4️⃣ Nincs túlcsordulás, tehát az eredmény negatív!  A gép ezt úgy jelzi, hogy az eredmény maga egy komplemens alak. Mit jelent ez? 999 – 646 = 353, majd +1 = 354
→ marad 031

Eredmény: – 354

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

Informatika fogalma

Informatika fogalma

Az informatika fogalma nem csak kódolás, hanem az információ okos feldolgozása és továbbítása - mindaz, ami a telefonod, a web, az AI mögött történik. Ebben a leckében tisztázzuk az informatika fogalma körüli alapokat és villámgyorsan végigmegyünk a négy fő ágán:...

bővebben
Információ fogalma

Információ fogalma

Az információ fogalma elsőre elvontnak tűnhet, mégis minden kattintásunk, üzenetünk és fotónk erről szól. Nap mint nap adatokat látunk: számokat, betűket, pixeleket. De mikor lesz az adatból tényleg tudás? Pont ezt tisztázzuk: mi az információ fogalma, hogyan...

bővebben

Komplemens képzés

Komplemens képzés

Információs technológia

Komplemens képzés - a számok kiegészítése logikával

A komplemens képzés nem más, mint egy trükkös módja annak, hogy egy számot „kiegészítsünk” egy másik számmal, amivel együtt egy fix, maximális értéket adnak ki.
Ez az elv működik bármilyen számrendszerben – legyen az 10-es, 8-as vagy 2-es alapú.

Általánosan fogalmazva:
ha egy számrendszer alapszáma p, akkor az úgynevezett
p – 1’s komplemens azt a számot jelenti,
amely egy adott N számjegyű számot kiegészít az összes jegyben p – 1 értékre.

A bináris világ átalakulása: anime-lány mutatja be a komplemens képzés varázsát

Példa 10-es számrendszerben

Vegyük a 10-es számrendszert, ahol p = 10, és nézzük meg, mi történik 3 számjegy esetén:

A maximálisan elérhető 3 jegyű szám: 10³ − 1 = 999. Legyen a kiinduló számunk: 234. Ekkor: 999-234 = 765

Ez azt jelenti, hogy 765 az a szám, amely „kiegészíti” a 234-et az összes helyiértéken 9-re.

Ezért 765-öt a 234 kilences komplemensének nevezzük
(ugyanis a 9 = p – 1 ebben a rendszerben).

Mit jelent ez valójában?

A komplemens képzés tehát az értékkiegészítés logikai formája.
A számítógépes aritmetikában ez lesz a kulcs ahhoz, hogy a gép negatív számokat is ábrázoljon — hiszen ha tudjuk, hogyan egészítsünk ki egy számot az „összes 1-ig” (binárisban), akkor már tudjuk, hogyan fordítsuk meg a logikát.

A 10-es rendszertől tehát hamarosan átérünk a 2-es számrendszerre, ahol ugyanez az elv működik – csak ott a „9” helyett 1-ekből áll majd a kiegészítés.
Így születik meg a bináris 1’s komplemens.

Ugyanez az elv működik a bináris (2-es) számrendszerben is – csak itt a „9” helyett 1-eket használunk.

Ha a gépnek 3 bit áll rendelkezésére:

2³ − 1 = 111₂

Ez a szám (111₂) lesz a bináris világ „999-e” – vagyis az a maximális érték, amelyre minden bitet „feltöltve” kapunk.
Innen kezdve bármelyik bináris szám komplementje az, ami az adott értéket 111₂-ig (az összes 1-ig) egészíti ki.

A két érték összeolvadása, ahol minden bit megtalálja a párját

Példa

Legyen a számunk: 010₂. A komplemensét úgy kapjuk meg, hogy minden bitet megfordítunk: 010 -> 101. Ezzel a módszerrel a szám és komplemense mindig „kitölti” a rendelkezésre álló helyet egyesekkel, azaz: 010 + 101 = 111. 
És kész is, ez az 1’s komplemens rendszer lényege binárisan. 

Összegzés

Mostanra megismertük a p−1’s komplemens működését:
ez az a szám, amely kiegészíti az adott értéket az összes helyiértéken p−1-ig.
A 10-es számrendszerben ez a „kilences komplemens”,
a 2-es számrendszerben pedig az 1’s komplemens.

Ez az elv adja az alapját annak, hogy a számítógép negatív számokat is tudjon ábrázolni
hiszen ha ismerjük, hogyan lehet egy számot kiegészíteni az „összes 1-ig”,
akkor már csak egy lépés választ el attól, hogy a gép kivonást is összeadással végezzen.

A következő leckében megismerkedünk azzal, hogyan lesz mindebből a p’s komplemens,
vagyis hogyan jön képbe az a bizonyos „+1 trükk”,
amivel a számítógép a világ egyik leglogikusabb rendszerét építi fel.

Futurisztikus digitális illusztráció, amely két fényes, kék ívet ábrázol, amik egymásba fonódva egyensúlyt és összhangot hoznak létre, a komplemens képzés elvét szimbolizálva

A komplemens képzés logikáját megérteni nemcsak programozásban hasznos – hanem segít abban is, hogy jobban átlássuk, hogyan gondolkodik a gép az adatok mögött.

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

Informatika fogalma

Informatika fogalma

Az informatika fogalma nem csak kódolás, hanem az információ okos feldolgozása és továbbítása - mindaz, ami a telefonod, a web, az AI mögött történik. Ebben a leckében tisztázzuk az informatika fogalma körüli alapokat és villámgyorsan végigmegyünk a négy fő ágán:...

bővebben
Információ fogalma

Információ fogalma

Az információ fogalma elsőre elvontnak tűnhet, mégis minden kattintásunk, üzenetünk és fotónk erről szól. Nap mint nap adatokat látunk: számokat, betűket, pixeleket. De mikor lesz az adatból tényleg tudás? Pont ezt tisztázzuk: mi az információ fogalma, hogyan...

bővebben
Egész típusú számrendszer

Egész típusú számrendszer

Információs technológia

Egész típusú számrendszer

Elgondolkodtál már azon, hogyan látja a számokat egy számítógép? 🤔


Mi emberek könnyedén használunk pozitív és negatív számokat, de a gép számára a világ csak 0 és 1.
Ennek ellenére bármilyen számot, szöveget vagy képet elő tud állítani — de hogyan?

Így tanítja meg az anime-lány, hogyan lesz a 0-ból és 1-ből egész szám, egész típusú számrendszerek

Mit nevezünk egész típusú számrendszernek?

Amikor programozásban, elektronikában vagy akár játékkészítésben dolgozunk, a számítógépnek mindig pontosan tudnia kell, mekkora számokat tud kezelni.
Ebben  az úgynevezett egész típusú számrendszerek (integer number systems) segítenek neki.

A számítógép számára minden adat bitekből – vagyis 0-kból és 1-ekből – áll.
Ha például 8 bitet kapsz, az azt jelenti, hogy 8 helyed van, és minden helyen vagy 0, vagy 1 állhat.

Mit jelent az, hogy „N biten → 2ⁿ lehetséges érték ábrázolható”?

Minden bit két lehetőséget ad, így az összes kombináció száma:
👉 2 × 2 × 2 × … × 2 (N-szer)
Ez pedig nem más, mint 2ⁿ.

Például:

  • 1 bit → 2 érték (0 vagy 1)

  • 2 bit → 4 érték (00, 01, 10, 11)

  • 3 bit → 8 érték

  • 8 bit → 256 érték (0–255)

  • 16 bit → 65 536 érték

  • 32 bit → 4 294 967 296 érték 🤯

Ezért mondjuk, hogy N biten 2ⁿ lehetséges értéket tudunk ábrázolni. Minél több a bit, annál nagyobb számokat tud a gép kezelni.
Vagyis: több memória = nagyobb szám = boldogabb programozó 😎

A gép nem ismeri a mínuszt...vagy mégis?

Most, hogy érted, hogyan kezeli a gép a pozitív számokat, jöhet a következő kérdés:
👉 hogyan ábrázoljuk a negatívakat?

A számítógép természeténél fogva nem ismeri a „mínuszt” — neki minden csak 0 vagy 1.
Ezért bevezették az előjelbitet (S), ami megmondja, hogy a szám pozitív vagy negatív:

  • Ha S = 0, akkor a szám pozitív

  • Ha S = 1, akkor a szám negatív

 

Anime-stílusú lány holografikus kijelző előtt, ahol a bináris számok nem értik a negatív számot

Mekkora szám fér el a memóriában? (IBM-PC példák)

Most, hogy tudod, hogyan működik az előjelbit, nézzük meg, mit jelent ez a gyakorlatban!
A számítógépek különböző méretű egész típusokat használnak – attól függően, mennyi memóriát szánunk a szám tárolására.

  • short integer (2 byte = 16 bit)

    • 1 bit az előjel, 15 bit az érték

    • Tartomány: –32 768 ≤ V ≤ 32 767

  • integer (4 byte = 32 bit)

    • 1 előjelbit + 31 értékbit

    • Tartomány: kb. –2 × 10⁹ ≤ V ≤ 2 × 10⁹

  • long integer (8 byte = 64 bit)

    • 1 előjelbit + 63 értékbit

    • Tartomány: kb. –9 × 10¹⁸ ≤ V ≤ 9 × 10¹⁸

Ezeket a határokat a 2ⁿ képletből vezethetjük le – ahol az egyik bit mindig az előjelre megy el.
Tehát az előjeles számoknál a tartomány kicsit szűkül: ➡️ –2ⁿ⁻¹ … 2ⁿ⁻¹ – 1

Anime-stílusú illusztráció, amely bemutatja a short, integer és long típusok bitfelépítését és tartományait

Egy kis tudomány a bitek mögött

A számítógép-architektúrában az egész típusú adattípusok a processzor regisztereinek szélességéhez igazodnak.
Például az első IBM-PC-k 16 bites Intel 8086 processzort használtak, ezért ott a „short integer” volt az alap típus, hiszen a CPU egyszerre 16 bitet tudott feldolgozni.
Később, a 32 bites (Intel 80386) korszakban az „integer” vált alapértelmezetté, majd a modern 64 bites processzoroknál a „long integer” lett a természetes egység.
Ezért ma, ha egy változót deklarálsz, a gép valójában a hardver korlátaihoz igazítja a méretét.

⚙️ Miért pont 2ⁿ⁻¹ … 2ⁿ⁻¹ − 1?

Az előjeles egész számok tartománya nem véletlenül ilyen furcsa.
Azért aszimmetrikus (pl. –32 768 → 32 767), mert a legfelső bit az előjelet hordozza, és a 0-t csak egyszer lehet kódolni.
Matematikailag a 2’s komplement rendszer a leghatékonyabb, mert:

  • egyetlen hardveres összeadómű elegendő mind összeadásra és kivonásra,

  • a „+0” és „–0” azonos bitmintát kap (így nincs duplikáció),

  • és a legfelső bit automatikusan jelzi a túlcsordulást.

Ez a rendszer annyira logikus, hogy ma minden modern processzor (Intel, AMD, ARM, M1, stb.) ezt használja a negatív számok tárolására.

Érdekesség: a túlcsordulás és a bitvihar

Ha egy szám túlcsordul, azaz túllépi a tárolható tartományt, a gép visszapörgeti a biteket.
Ezt hívjuk overflow-nak.
Például egy 16 bites előjeles számnál: 32767 + 1 -> -32768
Az ember ilyenkor hibát várna, de a processzor „körbeéri” a tartományt — ezért hívják ezt a jelenséget wrap-around-nak.
A szoftverfejlesztők emiatt szoktak külön túlcsordulás-ellenőrzést (overflow check) beépíteni, főleg pénzügyi vagy tudományos számításoknál.

     

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

    Informatika fogalma

    Informatika fogalma

    Az informatika fogalma nem csak kódolás, hanem az információ okos feldolgozása és továbbítása - mindaz, ami a telefonod, a web, az AI mögött történik. Ebben a leckében tisztázzuk az informatika fogalma körüli alapokat és villámgyorsan végigmegyünk a négy fő ágán:...

    bővebben
    Információ fogalma

    Információ fogalma

    Az információ fogalma elsőre elvontnak tűnhet, mégis minden kattintásunk, üzenetünk és fotónk erről szól. Nap mint nap adatokat látunk: számokat, betűket, pixeleket. De mikor lesz az adatból tényleg tudás? Pont ezt tisztázzuk: mi az információ fogalma, hogyan...

    bővebben
    Adatábrázolás számítógépen

    Adatábrázolás számítógépen

    Információs technológia

    Adatábrázolás

    Amikor megnyitunk egy képet, elindítunk egy játékot vagy egyszerűen csak lementünk egy dokumentumot, ritkán gondolunk bele, hogyan tárolja a számítógép az adatokat. Pedig minden, amit a gép „tud”, az valójában nullák és egyesek végtelen sora. Ez a folyamat az, amit adatábrázolás számítógépben néven ismerünk.

    Anime stílusú lány szemlélteti az adatábrázolás számítógépben folyamatát, bemutatva a RAM, SSD, processzor és felhő adattárolókat digitális háttér előtt.

    De mit jelent ez pontosan? Hogyan lesz egy színes fotóból, egy hangfájlból vagy egy szövegből bitformátum? És hová kerülnek ezek az adatok – a RAM-ba, az SSD-re, vagy a felhőbe?
    Ebben a bejegyzésben lépésről lépésre felfedezzük, hogyan működik az adattárolás és a kódolás a számítógépben, és miért kulcsfontosságú mindez a digitális világunk megértéséhez.

    Tárolási elvek: Neumann vs. Harvard

    Amikor ma megnyitsz egy programot a laptopodon vagy telefonodon, észre sem veszed, hogy egy több mint 70 éves vita öröksége dolgozik a háttérben. Ez a vita két zseniális iskola között zajlott: a Harvard-elv és a Neumann-elv hívei között.

    Harvard-elv — amikor az adat és a program nem keveredik

    A Harvard-architektúra a számítástechnika „régi iskolája”. Itt az adat (amit feldolgozunk) és a program (ami feldolgozza) külön memóriában élnek.
    Ez olyan, mintha két teljesen külön könyvtárad lenne: az egyikben a receptkönyvek (programok), a másikban az alapanyagok (adatok).
    A Harvard-elvet használták a korai mechanikus és elektromechanikus gépek – például a Mark I (Harvard University, 1944). A programokat lyukkártyákon vagy kapcsolótáblákon állították be, és csak a gép kezelője ismerte őket.

    👉 Előny: biztonságos, mert a program nem tudja véletlenül „felülírni” az adatokat.
    👉 Hátrány: lassú és merev – minden változtatáshoz kézzel kellett újrakábelezni vagy újrakártyázni a rendszert.

    Neumann-elv — az igazi forradalom

    Aztán jött Neumann János, a magyar zseni, aki 1945-ben megírta az „EDVAC Memorandumot” – és ezzel forradalmasította a számítógép-építést.
    A Neumann-elv lényege az volt, hogy az adatot és a programot ugyanabban a memóriában tároljuk, és ugyanúgy, binárisan ábrázoljuk.
    Ez az úgynevezett „tárolt program elve” (stored-program concept).

    A gép így már önállóan is képes volt a programokat futtatni, nem kellett fizikailag beavatkozni.
    Ez tette lehetővé a modern operációs rendszereket, a szoftvereket, sőt, még az AI-t is.

    Miért zseniális ez az elv?

    • Mert a programok is adatok, tehát a gép önmagát is képes módosítani – például új kódokat tölthet le, frissíthet, futtathat.

    • Mert a sebességet már nem a kábelek, hanem az architektúra és a CPU-műveletek határozzák meg.

    • Mert ezzel megnyílt az út a magas szintű programozási nyelvek és a komplex szoftverek előtt.

    Elv Adat és program Használat Előny Hátrány
    Harvard Külön memóriában Mikrokontrollerek, DSP-k Gyors párhuzamos hozzáférés Kevésbé rugalmas
    Neumann Közös memóriában PC-k, laptopok, szerverek Egyszerűbb, dinamikus „Neumann-szűk keresztmetszet”

     

    Az adatábrázolás a számítógép gondolkodásának alapja – így tárolódnak az adatok és programok a Neumann-elv szerint.

    Adatábrázolás és kódolás

    avagy hogyan érti meg a gép, amit mondunk

    A számítógép nem beszél nyelveket –  csak két dolgot ismer: 0 és 1. Minden, amit látunk a kijelzőn – szöveg, kép, zene, videó, játék – ezekből a bitekből épül fel.
    Ahhoz, hogy a gép ezt értelmezni tudja, szükség volt egy egységes módszerre: ez az adatábrázolás és a kódolás.

    Miért kellett szabányosítani az adatábrázolást?

    Képzeld el, ha minden számítógép másképp értelmezné az „A” betűt. Egyiknél 01000001, a másiknál 11001100 lenne – totális káosz. Ezért hozták létre a szabványos kódrendszereket (ASCII, Unicode, UTF-8), hogy minden gép ugyanúgy tudja: 01000001 = A.
    Ez tette lehetővé, hogy az interneten a világ bármelyik gépe ugyanazt az e-mailt, képet vagy karaktert jelenítse meg.

    Hogyan működik az adatábrázolás?

    Az adatok tárolása és feldolgozása bitek kombinációjával történik.

    • A betűk, számok, írásjelek mind külön-külön bitmintát kapnak – ezeket nevezzük karaktereknek.

    • Minden karakterhez hozzárendelünk egy szabványos bináris kódot.

    • A gép ezeket olvassa, tárolja és továbbítja – innen ered az a szó, hogy kódolás. A gép lefordítja a jeleket a saját nyelvére, vagyis a kódra. (számok, jelek -> bitek)

     

    Két fő adattárolási forma:

    Típus Magyarázat Példa
    Szöveges kódolt ábrázolás Betűkből, számokból és írásjelekből áll – pl. ASCII, Unicode “Hello” → 01001000 01100101 01101100 01101100 01101111
    Gépi számábrázolás Számok tárolása műveletekhez alkalmas formátumban (pl. bináris, hexadecimális, lebegőpontos) 255 → 11111111

    Információábrázolás

    (avagy hogyan gondolkodik a számítógép a számokról és karakterekről)

    A számítógép nem tud különbséget tenni szám, betű vagy hang között — neki minden bitkombináció.
    Az, hogy ebből információ lesz, attól függ, hogyan értelmezi ezeket a biteket. Ez az információábrázolás lényege.

    Numerikus információ

    A gépekben a számok tárolására többféle módszer létezik — attól függően, hogy mekkora helyet foglalhatnak, és milyen pontosságra van szükség.

    1️⃣ Egész típusú számok

    • Előjel nélkül: csak pozitív értékek (pl. 0–255 nyolc biten).

    • Előjeles: a legnagyobb bit az előjelet jelzi (pozitív vagy negatív).

      • 1-es komplemens: a negatív számok az összes bit invertálásával jönnek létre.

      • 2-es komplemens: a modern gépek ezt használják, mert egyszerűbb a műveletvégzés (pl. -5 = 11111011).

    2️⃣ Fixpontos számábrázolás

    Itt a tizedespont helye fix, tehát a gép előre tudja, hány bit tartozik az egész, és hány a tört részhez.
    Ez gyors, de nem túl rugalmas – például beágyazott rendszerekben (mikrokontrollerekben) gyakori.

    3️⃣ Lebegőpontos számábrázolás

    A lebegőpontos formátum a „matematikai szuperhős” a gépekben:
    a tört pont helye nem fix, hanem „lebeg”, így hatalmas tartományban tárolhatók számok – kicsik és nagyok is.

    Ezt az IEEE-754 szabvány rögzíti (pl. float, double).
    A lebegőpontos szám három részből áll:

    • előjelbit,

    • kitevő (exponens) – excess kóddal,

    • és mantissza (a szám jelentős része).

    💬 Példa:
    -4,5 → 1 10000001 00100000000000000000000
    (ez 32 biten, IEEE-754 szerint).

    Nem numerikus információ ábrázolása

    Nem minden adat szám: szövegek, karakterek, jelek is lehetnek információk. Ezekhez külön karakterkészletek és kódolási eljárások kellenek:

    EBCDIC – korai IBM szabvány

    ASCII – 7 bites klasszikus, ma is használják

    Unicode / UTF-8 – a modern világnyelv, több mint 140ezer karakterrel. Így tudja a számítógép megkülönböztetni például a magyar „ő”-t és a japán „あ”-t ugyanabban a fájlban.

     

    Most, hogy tudjuk, hogyan lesz az adatokból értelmezhető információ, ideje belenézni abba, hogyan ábrázolja a számítógép a számokat magukat.
    A gép nem tízes számrendszerben gondolkodik, mint mi, hanem kettesben – nullák és egyesek formájában.
    Ez a bináris világ az alapja minden számításnak, memóriaműveletnek és logikai döntésnek, amit a processzor végez.

    Ahhoz, hogy az emberi és a gépi gondolkodás között hidat építsünk, meg kell ismernünk a különböző számrendszereket – a binárist (2-es), oktálist (8-as), decimálist (10-es) és hexadecimálist (16-os).
    Ezek együtt adják meg azt a nyelvet, amin a számítógép számol, kommunikál és adatokat tárol.

    Anime stílusú lány magyarázza az egész típusú számrendszereket, bináris, decimális és hexadecimális számokkal egy digitális táblán, kék fényű futurisztikus háttér előtt.

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

    Informatika fogalma

    Informatika fogalma

    Az informatika fogalma nem csak kódolás, hanem az információ okos feldolgozása és továbbítása - mindaz, ami a telefonod, a web, az AI mögött történik. Ebben a leckében tisztázzuk az informatika fogalma körüli alapokat és villámgyorsan végigmegyünk a négy fő ágán:...

    bővebben
    Információ fogalma

    Információ fogalma

    Az információ fogalma elsőre elvontnak tűnhet, mégis minden kattintásunk, üzenetünk és fotónk erről szól. Nap mint nap adatokat látunk: számokat, betűket, pixeleket. De mikor lesz az adatból tényleg tudás? Pont ezt tisztázzuk: mi az információ fogalma, hogyan...

    bővebben
    Hexadecimális számrendszer

    Hexadecimális számrendszer

    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

    Informatika fogalma

    Informatika fogalma

    Az informatika fogalma nem csak kódolás, hanem az információ okos feldolgozása és továbbítása - mindaz, ami a telefonod, a web, az AI mögött történik. Ebben a leckében tisztázzuk az informatika fogalma körüli alapokat és villámgyorsan végigmegyünk a négy fő ágán:...

    bővebben
    Információ fogalma

    Információ fogalma

    Az információ fogalma elsőre elvontnak tűnhet, mégis minden kattintásunk, üzenetünk és fotónk erről szól. Nap mint nap adatokat látunk: számokat, betűket, pixeleket. De mikor lesz az adatból tényleg tudás? Pont ezt tisztázzuk: mi az információ fogalma, hogyan...

    bővebben