Podcast on Kettes és tizenhatos számrendszer

Kettes és Tizenhatos Számrendszer: Átváltás, Alapok

Podcast

Számrendszerek0:00 / 11:18
0:001:00 remaining
HannahSam, elképesztő belegondolni. Épp most küldtem egy képet anyukámnak, közben zenét hallgatok, és a GPS is megy a háttérben. Az agyam felfogni sem tudja, mi minden történik ebben a kis dobozban.
SamÉs ha azt mondom, hogy a telefonod lelke mélyén az egész csak két dologból áll? Nulla… és egy. Semmi más.
Chapters

Számrendszerek

Délka: 11 minut

Kapitoly

Bevezető a számok világába

A gépek nyelve: Bináris

Átváltás egyszerűen

Oktális és hexadecimális kódok

Negatív számok a gépben

A kettes komplemens lépései

Értelmezés és a tartomány

Gyakori tévedések

A kettes komplemens buktatói

A szimuláció lényege

Mit figyeljünk meg?

Összegzés és búcsú

Přepis

Hannah: Sam, elképesztő belegondolni. Épp most küldtem egy képet anyukámnak, közben zenét hallgatok, és a GPS is megy a háttérben. Az agyam felfogni sem tudja, mi minden történik ebben a kis dobozban.

Sam: És ha azt mondom, hogy a telefonod lelke mélyén az egész csak két dologból áll? Nulla… és egy. Semmi más.

Hannah: Várjunk, ezt nem hiszem el. Az összes kép, zene, üzenet… csak nullák és egyesek lennének?

Sam: Pontosan. És ez vezet el minket a mai témánkhoz, a számrendszerekhez. Ez az alapja mindennek, ami digitális.

Hannah: Üdvözlünk a Studyfi Podcast adásában. Akkor ma megfejtjük a gépek titkos nyelvét?

Sam: Megfejtjük bizony! És a végére kiderül, hogy nem is annyira titkos. Az egész a helyiértékes számrendszereken múlik.

Hannah: Oké, a „helyiérték” szót már hallottam általános iskolában. Az az, amikor egy számjegy attól ér többet, hogy hol áll a számban?

Sam: Teljesen így van! A tízes számrendszerben, amit nap mint nap használunk, tíz számjegyünk van, nullától kilencig. Ezért az az alapja, hogy 10. A 457-es számban a 7-es csak hetet ér, az 5-ös már ötvenet, a 4-es pedig négyszázat.

Hannah: Rendben, ez tiszta. De hogy jönnek ide a nullák és az egyesek?

Sam: Úgy, hogy a számítógépek nem tíz, hanem csak kettő „számjegyet” ismernek: a nullát és az egyet. Ez a kettes, vagy más néven bináris számrendszer. Képzeld el úgy, mint egy villanykapcsolót: vagy le van kapcsolva, az a nulla, vagy fel, az az egy.

Hannah: Szóval minden információt ebből a két állapotból kell összerakniuk? Az kemény lehet.

Sam: Kemény, de logikus. Vegyünk egy példát! Mondjuk az a bináris szám, hogy 1-1-0-1-0. Hogyan lesz ebből egy szám, amit mi is értünk?

Hannah: Fogalmam sincs. Segíts!

Sam: Ahogy a tízesnél a tíz hatványaival számoltunk, itt a kettő hatványaival fogunk. Jobbról kezdjük. Van 0 darab egyesünk, 1 darab kettesünk, 0 darab négyesünk, 1 darab nyolcasunk és 1 darab tizenhatosunk.

Hannah: Oké, várd, lekövetem... 16 plusz 8 plusz 2... az 26! Szóval a bináris 11010 a mi nyelvünkön 26-ot jelent?

Sam: Pontosan! Látod? Nem is ördöngösség. Ugyanaz a logika, csak más az alap.

Hannah: És visszafelé? Hogyan csinálok a 26-ból bináris számot? Ott nincs mit összeadni.

Sam: Nagyon jó kérdés! Ott egy másik trükköt használunk: az ismételt osztást. Fogjuk a 26-ot, és elkezdjük osztani kettővel, amíg a végére nem érünk.

Hannah: Oké, próbáljuk meg. 26 osztva 2-vel az 13, a maradék 0.

Sam: Szuper! Most jön a 13. Osztva 2-vel az 6, a maradék 1. A 6-ból lesz 3, a maradék 0. A 3-ból 1, a maradék 1. És az 1-ből 0, a maradék 1.

Hannah: Megvannak a maradékok: 0, 1, 0, 1, 1. Ez lenne az?

Sam: Majdnem! És ez a leggyakoribb hiba. A maradékokat fordított sorrendben kell leírni. Alulról felfelé olvasva: 1-1-0-1-0. Vissza is kaptuk az eredeti bináris számunkat.

Hannah: Á, értem! Tehát a végén kell egyet csavarni rajta. Ez egy tipikus vizsgakérdés-csapda lehet.

Sam: Ugyan, a tanárok sosem csinálnának ilyet. De igen, erre nagyon figyelj! Az utolsó maradék lesz az első számjegy.

Hannah: Hallottam már más számrendszerekről is, például a hexadecimálisról. Azok mire jók, ha a gépek a binárist beszélik?

Sam: A nyolcas (oktális) és a tizenhatos (hexadecimális) számrendszerek igazából a programozók munkáját könnyítik meg. Képzeld el, hogy egy hosszú-hosszú bináris kódsort kell olvasnod, ami csak nullákból és egyesekből áll. Hamar belezavarodnál.

Hannah: Elég valószínű.

Sam: Na, az oktális és a hexadecimális ennek a tömörítésére szolgál. Mivel a 8 az 2 a harmadikon, a 16 pedig 2 a negyediken, ezért egy oktális számjegy 3 bináris számjegyet, egy hexadecimális pedig 4-et tud helyettesíteni.

Hannah: A hexadecimálisban még betűk is vannak, nem? A, B, C... ez mindig összezavart.

Sam: Csak azért van rájuk szükség, mert a 9 után elfogytak a számjegyek. De 16-ig kell eljutnunk! Szóval az A lett a 10, a B a 11, és így tovább F-ig, ami a 15. Például a weboldalak színkódjai is hexadecimálisak.

Hannah: Vagyis amikor egy dizájnerprogramban látok egy #2AF68C kódot, az valójában egy szám?

Sam: Pontosan! Három szám, ami a piros, zöld és kék színek arányát adja meg. És ha átváltanád binárisba, minden hexadecimális jegy helyére 4 darab nulla vagy egy kerülne. Sokkal egyszerűbb annyit írni, hogy 'A', mint hogy '1010'.

Hannah: Fantasztikus! Szóval a számrendszerek nemcsak a gépeknek kellenek, hanem nekünk is, hogy egyáltalán szót értsünk velük.

Sam: Így van. És most már tudod a klasszikus programozó viccet is: A világon 10-féle ember létezik. Aki ismeri a bináris számrendszert, és aki nem.

Hannah: Oké, ezt meg kellett emésztenem egy pillanatra! De most már értem! Ez nagyon jó volt.

Hannah: Oké, eddig a pozitív számok bináris ábrázolása tiszta volt. De mi a helyzet a negatív számokkal? Hogy mondja a gép azt, hogy "mínusz öt"?

Sam: Jogos a kérdés! Nem írhat csak egy mínusz jelet elé. Erre való a kettes komplemens ábrázolás. Ez egy okos módszer, amit szinte minden modern gép használ.

Hannah: Kettes komplemens… ez valami bonyolult kódolásnak hangzik.

Sam: Dehogyis! Lássuk a mínusz öt példáját 8 biten. Először is, vesszük a pozitív ötöt: az 00000101. Eddig egyszerű, igaz?

Hannah: Igen, ez megvan.

Sam: Szuper. Most jön a trükk: fordíts meg minden bitet! A nullákból egyesek lesznek, az egyesekből nullák. Így kapjuk, hogy 11111010. Ezt hívják egyes komplemensnek.

Hannah: Oké, ez olyan, mint a bináris szám „tükörképe”.

Sam: Pontosan! Az utolsó lépés pedig, hogy ehhez hozzáadsz egyet. Tehát 11111010 plusz egy az 11111011. És kész is, ez a mínusz öt 8 biten.

Hannah: És ha egy ilyen bináris számot látok, honnan tudom, hogy negatív?

Sam: A legelső bit, a legfontosabb helyiértékű bit árulkodik. Ha az 1-es, akkor a szám negatív. De ez nem csak egy előjel, hanem a szám értékének is a része.

Hannah: Értem. Tehát a visszafejtés ugyanennek a folyamatnak a fordítottja?

Sam: Nagyjából. Kivonsz egyet, invertálod a biteket, és megkapod a pozitív eredetit. Ezzel a módszerrel 8 biten mínusz 128-tól plusz 127-ig tudunk számokat ábrázolni.

Hannah: Szóval ez a trükk teszi lehetővé, hogy a számítógép valójában a kivonást is összeadásként végezze el. De mi történik, ha ezekkel a számokkal műveleteket végzünk? Erről beszéljünk a következőkben.

Hannah: Szóval, az átváltás maga nem is olyan bonyolult, ha egyszer ráérzünk a logikájára. De gondolom, itt is van jó pár tipikus hiba, amibe a diákok rendszeresen beleesnek, igaz?

Sam: Ó, de még mennyi! Kész csapdaösvény tud lenni. A leggyakoribb talán az, amikor valaki meglátja a 10-es bináris számot, és automatikusan tíznek olvassa.

Hannah: Pedig az ugye kettőt jelent a mi tízes számrendszerünkben. Ezért is szuperfontos az a kis alsó index, a 10_2, ami jelzi a számrendszer alapját.

Sam: Pontosan. Egy másik klasszikus buktató az átváltási algoritmusnál van. Amikor tízesből kettesbe váltunk az ismételt osztással, a maradékokat mindig fordított sorrendben kell összeolvasni. Sokan ezt elfelejtik, és máris hibás az eredmény.

Hannah: Ebbe én is belefutottam már párszor. És mi a helyzet a negatív számokkal? A kettes komplemens is elég trükkösnek hangzik elsőre.

Sam: Az is tud az lenni, főleg a tévhitek miatt. A legtöbben azt hiszik, hogy a legelső bit, a legmagasabb helyiértékű, az csak egy egyszerű előjelbit. Ha 1-es, akkor negatív, és kész.

Hannah: De ez nem ilyen egyszerű, igaz? Akkor mi a csavar?

Sam: A csavar az, hogy az a bit a szám értékének is a része, nem csak egy kapcsoló. És itt jön a másik hiba: a bitméret figyelmen kívül hagyása. Egy mínusz öt teljesen máshogy néz ki 8 biten, ami 11111011, mint mondjuk 16 biten.

Hannah: Értem. Tehát a számrendszer alapja, az átváltás sorrendje és a bitméret... ezekre kell a legjobban figyelni. Na de mi a helyzet a törtekkel? Azok hogy működnek binárisan?

Hannah: Rendben, szóval az elmélet és az átváltás logikája már tiszta. De hogyan lehet ezt a legjobban begyakorolni anélkül, hogy az ember megőszülne?

Sam: Nagyon jó kérdés! És a válasz az utolsó témánk: egy interaktív szimuláció.

Hannah: Ó, ez jól hangzik! Mit kell elképzelni?

Sam: Gondolj rá úgy, mint egy sor villanykapcsolóra. Minden kapcsoló egy bit. Felkapcsolod, az értéke 1 lesz. Lekapcsolod, és 0 lesz.

Hannah: És a szimuláció azonnal megmutatja, hogy a kapcsolók állása milyen tízes számrendszerbeli értéket ad ki?

Sam: Pontosan! Ez a vizuális visszajelzés a lényeg. Látod, ahogy minden egyes kattintásod megváltoztatja a végeredményt.

Hannah: És mit érdemes figyelni közben?

Sam: Például azt, hogy ha egy bitet nulláról egyre kapcsolsz, a szám értéke pontosan annyival nő, amennyi az adott pozíció helyiértéke.

Hannah: Tehát ha a nyolcas helyiértéken lévő bitet kapcsolom be, a számom hirtelen nyolccal nagyobb lesz.

Sam: Így van. És fordítva is igaz. Ha kikapcsolod, nyolccal csökken. Figyeld meg azt is, hogy a bal oldali bitek mennyivel "erősebbek". Egy bal oldali bit átbillentése sokkal nagyobbat változtat az értéken.

Hannah: Szóval a bal oldali bitek a főnökök?

Sam: Abszolút! És ha minden bitet felkapcsolsz, akár túl is csordulhatsz, ami a programozásban egy fontos jelenség. De ez már egy haladóbb téma.

Hannah: Szuper! Ez tényleg segít, hogy az egész kézzelfoghatóvá váljon. Összefoglalva: megnéztük, miért alapvető a kettes számrendszer, hogyan működik az átváltás, és ezzel a szimulációval mindezt a gyakorlatban is kipróbálhatjuk.

Sam: Így van. A kulcs az, hogy ne féljetek kísérletezni vele! Minél többet "kapcsolgattok", annál jobban rögzül.

Hannah: Köszönjük, hogy velünk tartottatok a Studyfi Podcast mai adásában! Én Hannah voltam.

Sam: Én pedig Sam. Tanuljatok jól, és találkozunk a következő részben! Sziasztok!