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.
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.
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.
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
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...
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...
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...




