✖

Számrendszerek átváltása

Hogyan váltsunk át számokat a tízes számrendszerből más számrendszerekbe, és fordítva: hogyan váltsunk át más számrendszerekből a tízes számrendszerbe.

Mi az a számrendszer

Általában a tízes számrendszerben dolgozunk. Ennek a számrendszernek tíz számjegye van: 0, 1, 2, 3, 4, 5, 6, 7, 8 és 9. A tízes számrendszerre az jellemző, hogy ha egy számot, például az 57-et megszorozzuk 10-zel, egy helyi értékkel eltolódunk – a szám leírásához eggyel több számjegyre van szükségünk: 570.

Lehetnek más számrendszerek is, egy nyolcas számrendszerben csak a 0, …, 7 számjegyek lennének. A 7 + 1 kifejezés így 10 lenne, mert a nyolcas számrendszerben nincs 8-as számjegy. A tizenhatos számrendszerben a számjegyek 0, 1, … 14, 15 lennének. Néha a 9-nél nagyobb számjegyek helyett betűket használunk, így a tizenhatos számrendszer számjegyei 0, …9, A, B, C, D, E, F lennének.

Meglepő módon a mindennapi életben is találkozunk más számrendszerekkel. Például az idővel – a másodperceket és a perceket hatvanas számrendszerben számoljuk. A nap minden pillanatát felírhatjuk háromjegyű számként a hatvanas számrendszerben. Az első számjegy az órát, a második a percet, a harmadik a másodpercet adja meg. Ha számjegyelválasztónak kettőspontot választunk, kapjuk például a 14:05:59 számot. Figyeld meg, hogy ha ehhez az időponthoz hozzáadunk egy másodpercet, nem 14:05:60-at kapunk, hanem 14:06:00-t – mert a 60 nem érvényes számjegye a hatvanas számrendszernek.

Átváltás a tízes számrendszerből a kettesbe

Tegyük fel, hogy a papíron ott van a 70-es szám. Ezt most át szeretnénk váltani kettes, vagyis bináris számrendszerbe. Az elv elég egyszerű: az átváltandó számot folyamatosan osztjuk 2-vel, amíg el nem jutunk a nullához, és közben felírjuk a maradékos osztások maradékait. Ha más számrendszerbe, például tizenhatosba szeretnénk átváltani, 16-tal osztunk. Ha hatosba, 6-tal osztunk. A gyakorlatban így néz ki:

70:2=35⟶0(maradék)35:2=17⟶117:2=8⟶18:2=4⟶04:2=2⟶02:2=1⟶01:2=0⟶1

A kettes számrendszerbeli számot a maradékok adják. A maradékokat azonban nem fentről, hanem alulról olvassuk. Tehát a 70 a bináris számrendszerben 1000110.

Átváltás a kettes számrendszerből a tízesbe

Fordítva így váltanánk át. Legyen az 1100010 számunk, és váltsuk át a tízes számrendszerbe. Ez az irány egyszerűbb, elég kiszámítani ezt az összeget:

11000102=1⋅26+1⋅25+0⋅24+0⋅23+0⋅22+1⋅21+0⋅20

Minden összeadandó x · 2i alakú, ahol x az eredeti bináris szám egy számjegye, az i pedig jobbról kezdve mindig eggyel nő. Mivel az 1100010 számot váltjuk át, az összeg így néz ki:

11000102=1⋅26+1⋅25+0⋅24+0⋅23+0⋅22+1⋅21+0⋅20

Az 1100010 számnak hét számjegye van, tehát a kettő hatványainak kitevői sorban 6, 5, …, 1, 0 lesznek. A hatványozás és a szorzás után ezt a kifejezést kapjuk:

11000102=64+32+2=98.

Miért működik ez az eljárás?

Megmutathatjuk a tízes számrendszeren. Mit jelentenek valójában a számjegyek egy számban, például a 7384-ben? A 4-es számjegy az egyesek számát adja meg, a 8-as a tízesekét, a 3-as a százasokét, a 7-es pedig az ezresekét. Tehát felírhatjuk, hogy

7384=7⋅1000+3⋅100+8⋅10+4⋅1

Ezt a kifejezést még átalakíthatjuk úgy, hogy ne a 100, 10 és 1 számokat használjuk, hanem mindenhol a 10 valamilyen hatványa szerepeljen. Mivel 100 = 1 és 101 = 10 és így tovább, felírhatjuk, hogy

7384=7⋅103+3⋅102+8⋅101+4⋅100

A tízes számrendszerben minden számot leírhatunk ugyanígy, az egyes összeadandók x · 10i alakúak, ahol x egy 0 és 9 közötti számjegy, és ezekből a számjegyekből tíz van. Az i érték valamilyen nemnegatív egész szám, amely a helyi értéket adja meg. Ha i = 0, az összeadandó az egyeseket adja meg, ha i = 2, akkor a százasokat (mert 102 = 100).

Próbáljuk meg most átváltani a 7348-at a tízes számrendszerből, hm…, a tízes számrendszerbe. Lesz értelme. A 7348-at osztjuk 10-zel:

7348:10=734⟶8(maradék)734:10=73⟶473:10=7⟶37:10=0⟶7

Ha a maradékokat alulról olvassuk, megkapjuk a 7348-at – vissza az eredeti számot, amelyet … ugyanabba a számrendszerbe próbáltunk átváltani.

Ha a kettes számrendszert akarjuk leírni, pontosan ugyanígy tesszük – minden összeadandó x · 2i alakú lesz, ahol x a 0 vagy az 1 számjegy. Az i érték itt is a helyi értékeket adja meg. Ahogy a 10-zel való folyamatos osztás megadja, mennyi áll az egyes helyi értékeken a tízes számrendszerbeli számban, úgy a 2-vel való folyamatos osztás megadja ugyanezt a kettes számrendszerben.

Figyeld meg azt is, hogy ha egy számot 10-zel osztunk, és a maradékra kérdezünk, ez a maradék mindig a [0; 9] intervallumban lesz. Ha 2-vel osztjuk a számot, a maradék 0 vagy 1 lehet.

Átváltás más számrendszerekbe

A tízes számrendszerből a binárisba való átváltás előző módszere annyira általános, hogy más számrendszerekre is használható. Ha a 185-öt tizenhatos számrendszerbe szeretnénk átváltani, egyszerűen 16-tal osztunk:

185:16=11⟶9(maradék)11:16=0⟶11

A 185 a 16-os számrendszerben (11; 9) alakú lenne. A 9-nél nagyobb „számjegyek” helyett általában betűket használunk, tehát 10 = A, 11 = B, 12 = C, … Így felírhatjuk, hogy a 185 a 16-os számrendszerben B9 alakú.

Hasonlóan átválthatjuk a B9 számot a 16-os számrendszerből a tízesbe.

B916=11⋅161+9⋅160=11⋅16+9=185