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

Fixpontos számrendszerek

Fixpontos számrendszerek

A számítógépek világa tele van különleges logikával – és a fixpontos számrendszerek pont egy olyan téma, ami elsőre bonyolultnak tűnhet, de valójában nagyon izgalmas!Ebben a leckében anime-lány kalauzunk segít megérteni, hogyan működnek ezek a rendszerek: mit jelent a...

bővebben
Előjeles kettes komplemens

Előjeles kettes komplemens

Az előző leckében már megtanultuk, hogyan működik a 2’s komplemens,és azt is láttuk, hogy ez a módszer teszi lehetővé, hogy a számítógép kivonást is összeadással tudjon elvégezni.(Aki lemaradt róla, itt tudja bepótolni 👉 Kettes komplemens – avagy hogyan gondolkodik a...

bővebben
1’s komplemens – így fordítja meg a gép a biteket

1’s komplemens – így fordítja meg a gép a biteket

Képzeld el, hogy a számítógép minden 0-t 1-re, és minden 1-et 0-ra cserél — ez az 1’s komplemens varázsa. 💡Ezzel a trükkel a gép a negatív számokat is el tudja tárolni anélkül, hogy külön „mínuszjelet” használná.A mai leckében anime-lányunk megmutatja, hogyan...

bővebben