Számrendszerek
A Neumann-elveken működő számítógépek az adatokat kettes számrendszerben tárolják és dolgozzák fel. Ahhoz, hogy megértsük, hogy ez hogyan működik, először azt kell megnéznünk, hogy mik azok a számrendszerek, és hogyan lehet a számokat egyik számrendszerből a másikba átváltani.
Csoportosítás
A számrendszerek olyan szabálygyűjtemények, amik meghatározzák, hogy egy számot hogyan tudunk leírni.
Helyi érték nélküli számrendszerek
A legegyszerűbb számrendszer az, amiben kiválasztunk egy jelölést, és azt annyiszor írjuk le, ahanyas számot akarunk ábrázolni. Például jelölje az I szimbólum az 1-et! Ebben az esetben a 3-at úgy tudjuk leírni, hogy III. A nagy számokat viszont így nehéz leírni. Szükség lesz újabb szimbólumokra, amik nagyobb mennyiségeket jelölnek. Jelölje például a V az 5-öt. A 6-os számot máris sokkal egyszerűbb lesz leírni, mintha csak az első szimbólumot használnánk: VI.
Ez a fajta ábrázolás az ókori kultúrákban nagyon népszerű volt, mert a viszonylag kis méretű egész számokat és az egyszerű törteket könnyű volt velük leírni. Számolni viszont nehéz volt velük, mert a különböző szimbólumok eltérő nagyságrendű mennyiségeket jelentettek. A középkortól kezdve már inkább csak a dátumok leírására és sorszámozásra használjuk ezt a megoldást.
Manapság Magyarországon a római számokat ismerjük, és használjuk, de ebbe a kategóriába tartoznak a székely rovásírás számai is.
Helyi értékes számrendszerek
A helyi értékes számrendszerek lényege az, hogy a szimbólumok értékét az elhelyezkedésük is befolyásolja. Jobbról balra haladva, minden lépésben egy nagyságrenddel növekszik a szimbólum értéke.
Alapfogalmak
Számjegy: | 2 | 0 | 1 | 6 |
---|---|---|---|---|
Alaki érték: | 2 | 0 | 1 | 6 |
Helyi érték: | 1000 | 100 | 10 | 1 |
Valódi érték: | 2×1000 = 2000 | 0×100 = 0 | 1×10 = 10 | 6×1 = 6 |
- Számjegy: Valamilyen értéket, mennyiséget kifejező szimbólum.
- Szám: Valamilyen értéket, mennyiséget kifejező szimbólumok (=számjegyek) sorozata.
- Alaki érték: Az adott szimbólumhoz (=számjegyhez) rendelt mennyiség.
- Helyi érték: A szimbólum (=számjegy) által elfoglalt pozíció értéke.
- Valódi érték: Az alaki és a helyi érték szorzata.
A számrendszer alapja
Azt, hogy egy számrendszerben hány különböző szimbólumot (számjegyet) használhatunk, a számrendszer alapja határozza meg. A leggyakrabban használt tizes számrendszer alapja a tíz, így összesen tízféle szimbólumot használhatunk. Ebbe beletartozik a nulla is. Így a tizes számrendszerben használható szimbólumok a következők: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Ha kilencnél nagyobb számot akarunk leírni, akkor ezeket a szimbólumokat kell kombinálni, és megfelelő sorrendbe állítani.
A kettes számrendszer alapja a kettő, ezért összesen kétféle számjegyet használhatunk. Ezek a 0 és az 1. Az egynél nagyobb számokat ezeknek a számjegyeknek a kombinálásával lehet leírni.
Számjegy: | A | B | C | D | E | F |
---|---|---|---|---|---|---|
Alaki érték: | 10 | 11 | 12 | 13 | 14 | 15 |
A tizenhatos számrendszer azért érdekes, mert az úgynevezett arab számok csak tízféle különböző szimbólumból állnak, ebben az esetben viszont tizenhat számjegyet használhatunk. Ezt a problémát úgy oldották meg, hogy az angol ábécé első hat betűjét is kinevezték számjegyeknek. (A kis- és nagybetűk között nincs különbség.)
A tizenkettes és hatvanas számrendszereket az idő mérésére használjuk. Felmerül a kérdés, hogy ezeknél miért nem használjuk az angol ábécé betűit a 9-nél nagyobb számjegyek jelölésére. Mivel ezekkel ritkán végzünk matematikai műveleteket, ezért nem annyira fontos a helyi érték, mint más esetekben. Egyszerűbb tehát tizes számrendszeri alakban írni a számokat, mert ebből nem származik hátrányunk.
Átváltás
A számrendszerek közötti átváltás matematikailag nagyon egyszerű folyamat. Mindössze a megfelelő algoritmusokat kell hozzá ismerni. Az alábbiakban azt a négy módszert fogjuk megismerni, amivel könnyen átválthatjuk a számokat két különböző számrendszer között.
Tizesből bármilyenbe (egész számok)
Az átváltás egyszerű osztások sorozata. A másik számrendszerben lévő szám az osztási maradékokból áll össze. Nézzük az algoritmust:
- Osszuk el a számot a másik számrendszer alapszámával! A maradékot írjuk le!
- Osszuk el az előző osztás hányadosát a másik számrendszer alapjával! A maradékot írjuk le!
- Ismételjük a 2. lépést addig, amíg a hányados 0 nem lesz!
- A maradékokat olvassuk össze fordított sorrendben!
1. példa
Példaként váltsuk át a 42 számot kettes számrendszerbe! Kezdésnek írjuk fel egymás mellé a számot (42) és a másik számrendszer alapját (2)!
42 | 2 |
---|---|
21 | 0 |
10 | 1 |
5 | 0 |
2 | 1 |
1 | 0 |
0 | 1 |
- Osszuk el a 42-t 2-vel! A hányados 21, a maradék 0. Írjuk le ezeket az ábrán látható módon!
- Osszuk el a 21-et 2-vel! A hányados 10, a maradék 1. Írjuk le!
- Osszuk el a 10-et 2-vel! A hányados 5, a maradék 0. Írjuk le!
- Osszuk el az 5-öt 2-vel! A hányados 2, a maradék 1. Írjuk le!
- Osszuk el a 2-t 2-vel! A hányados 1, a maradék 0. Írjuk le!
- Osszuk el az 1-et 2-vel! A hányados 0, a maradék 1. Írjuk le!
- Olvassuk össze a jobb oldali oszlopban lévő számokat alulról felfelé!
A 42 szám kettes számrendszerben 101010(2) alakban írható le.
2. példa
Példaként váltsuk át a 42 számot hármas számrendszerbe! Kezdésnek írjuk fel egymás mellé a számot (42) és a másik számrendszer alapját (3)!
42 | 3 |
---|---|
14 | 0 |
4 | 2 |
1 | 1 |
0 | 1 |
- Osszuk el a 42-t 3-mal! A hányados 14, a maradék 0. Írjuk le ezeket az ábrán látható módon!
- Osszuk el a 14-et 3-mal! A hányados 4, a maradék 2. Írjuk le!
- Osszuk el a 4-et 3-mal! A hányados 1, a maradék 1. Írjuk le!
- Osszuk el az 1-et 3-mal! A hányados 0, a maradék 1. Írjuk le!
- Olvassuk össze a jobb oldali oszlopban lévő számokat alulról felfelé!
A 42 szám hármas számrendszerben 1120(3) alakban írható le.
Tizesből bármilyenbe (tört számok)
Törtek átváltásakor az egészrészt ugyanúgy kell átváltani, mint egész számok esetében. A törtrész átváltására viszont másik algoritmust kell használni:
- Válasszuk le a szám törtrészét
- Szorozzuk meg a törtrészt a másik szám alapszámával! A szorzatot írjuk le!
- Az előző szorzat törtrészét szorozzuk meg a másik számrendszer alapszámával! A szorzatot írjuk le!
- Ismételjük a 3. lépést addig, amíg a szorzat törtrésze 0 nem lesz!
- Olvassuk össze a szorzatok egészrészeit a keletkezésük sorrendjében!
1. példa
Példaként váltsuk át a 42,125 számot kettes számrendszerbe!
2 | 125 |
---|---|
0, | 250 |
0, | 500 |
1, | 000 |
- A 42-t váltsuk át külön úgy, ahogy az egész számokat kell átváltani! A törtrészt (0,125) kezeljük külön!
- Szorozzuk meg a 0,125-öt 2-vel! A szorzat 0,250. Írjuk le az ábrán látható módon!
- Szorozzuk meg a 0,250-et 2-vel! A szorzat 0,500. Írjuk le!
- Szorozzuk meg a 0,500-at 2-vel! A szorzat 1,000. Írjuk le!
- A bal oldali oszlopban lévő számokat olvassjuk össze fentről lefelé!
A 0,125 kettes számrendszerben 0,001(2). Az egészrésszel összeolvasva: 42,125 = 101010,001(2).
2. példa
Példaként váltsuk át a 42,125 számot hármas számrendszerbe!
3 | 125 |
---|---|
0, | 375 |
1, | 125 |
0, | 375 |
1, | 125 |
⋮ | ⋮ |
- A 42-t váltsuk át külön úgy, ahogy az egész számokat kell átváltani! A törtrészt (0,125) kezeljük külön!
- Szorozzuk meg a 0,125-öt 3-mal! A szorzat 0,375. Írjuk le az ábrán látható módon!
- Szorozzuk meg a 0,375-öt 3-mal! A szorzat 1,125. Írjuk le!
- Szorozzuk meg a 0,125-öt 3-mal! A szorzat 0,375. Írjuk le!
- Szorozzuk meg a 0,375-öt 3-mal! A szorzat 1,125. Írjuk le!
- Látjuk, hogy az eredmény végtelen szakaszos tizedes tört lesz, ezért hagyjuk abba! A bal oldali oszlopban lévő számokat olvassjuk össze fentről lefelé!
A 0,125 hármas számrendszerben 0,0101(3). Az egészrésszel összeolvasva: 42,125 = 1120,0101(3).
Bármilyenből tizesbe
Ha más számrendszerekből tizesbe váltani talán még egyszerűbb. Csupán a számjegyek alaki és helyi értékét kell összeszorozni, és az így keletkező valódi értékeket összeadni. A helyi értékek pedig a számrendszer alapjának hatványai.
1. példa
Váltsuk át az 101010(2) kettes számrendszerben lévő számot tizesbe!
Számjegy: | 1 | 0 | 1 | 0 | 1 | 0 |
---|---|---|---|---|---|---|
Alaki érték: | 1 | 0 | 1 | 0 | 1 | 0 |
Helyi érték: | 25 = 32 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
Valódi érték: | 1×32 = 32 | 0×16 = 0 | 1×8 = 8 | 0×4 = 0 | 1×2 = 2 | 0×1 = 0 |
- Írjuk fel a kettes számrendszerben lévő szám számjegyeit egymás mellé!
- Írjuk fel a számjegyek alá a hozzájuk tartozó helyi értékeket! Jelen esetben a 2 hatványait.
- Szorozzuk össze az alaki értékeket a helyi értékekkel!
- Adjuk össze a valódi értékeket!
Az eredmény 32 + 0 + 8 + 0 + 2 + 0 = 42.
2. példa
Váltsuk át a 1120,0101(3) hármas számrendszerben lévő számot tizesbe!
Számjegy: | 1 | 1 | 2 | 0, | 0 | 1 |
---|---|---|---|---|---|---|
Alaki érték: | 1 | 1 | 2 | 0, | 0 | 1 |
Helyi érték: | 33 = 27 | 32 = 9 | 31 = 3 | 30 = 1 | 3-1 = 1/3 | 3-2 = 1/9 |
Valódi érték: | 1×27 = 27 | 1×9 = 9 | 2×3 = 6 | 0×1 = 0 | 0×1/3 = 0 | 1×1/9 ≈ 0,111 |
- Írjuk fel a hármas számrendszerben lévő szám számjegyeit egymás mellé!
- Írjuk fel a számjegyek alá a hozzájuk tartozó helyi értékeket! Jelen esetben a 3 hatványait.
- Szorozzuk össze az alaki értékeket a helyi értékekkel!
- Adjuk össze a valódi értékeket!
Az eredmény 27 + 9 + 6 + 0 + 0 + 0,111 ≈ 42,125. Mivel a tizesből hármasba váltásnál végtelen szakaszos tizedes törtet kaptunk, ezért a visszaváltás nem adja vissza a pontos eredményt, csak megközelítőleg.
Rokon számrendszerek között
A fenti módszerek segítségével bármilyen számrendszerből bármilyen másikba át tudunk váltani egy számot úgy, hogy előbb átváltjuk tizesbe, majd onnan a másik számrendszerbe. Vannak viszont olyan speciális esetek, amikor közvetlenül át tudjuk váltani a számot a köztes lépés nélkül.
Rokonoknak nevezzük azokat a számrendszereket, amiknek az alapszámai egymás hatványai. Ilyen például a kettes és a tizenhatos, vagy a hármas és a kilences.
- Ha kisebb számrendszerből akarunk nagyobba váltani, akkor a kisebb számrendszer számjegyeit jobbról balra haladva csoportosítani kell. Egy csoportba annyi számjegy tartozik, ahanyadik hatványa a nagyobb számrendszer alapszáma a kisebb számrendszer alapszámának. Ha jobbról balra haladva az utolsó csoportban nincs elég számjegy, akkor nullákkal ki kell egészíteni. A csoportokat külön-külön tizes számrendszerbe átváltva megkapjuk a nagyobb számrendszer számjegyeit.
- Ha nagyobb számrendszerből akarunk kisebbe váltani, akkor a nagyobb számrendszer számjegyeit külön-külön tizes számrendszerbeli számként kell kezelni, és át kell váltani a kisebb számrendszerbe. Az így kapott számjegysorozatokat egymás után írva megkapjuk a kisebb számrendszerbeli számot.
1. példa
Csoportosítás: | 0010 | 1010 |
---|---|---|
Átváltás: | 3 | 10 |
Eredmény: | 3 | A |
Váltsuk át az 101010(2) kettes számrendszerbeli számot tizenhatos számrendszerbe! A 16 a 2-nek a negyedik hatványa, ezért a számjegyeket négyes csoportokba kell rendezni. Az utolsó csoportba csak két számjegy jut, ezért nullákkal ki kell egészíteni.
Mivel 16-os számrendszerbe váltottuk a számot, és 9-nél nagyobb számjegy is kijött, ezért a fenti táblázat alapján a 10-es számjegyet az A betűvel kell helyettesíteni.