• Nem Talált Eredményt

Számok átírása egyik számrendszerb˝ ol másik számrendszerre

In document Informatikai rendszerek alapjai (Pldal 31-36)

A számolás kezdetei, számok leírása

2. Történeti áttekintés, a számolás története

2.1.4. Számok átírása egyik számrendszerb˝ ol másik számrendszerre

Ezek után felmerülhet az a kérdés, hogy hogyan kell – ha szükségessé válik – egyik számrendszerben leírt számot egy másik számrendszerbe átírni.

Mivel tetsz˝oleges számrendszerb˝ol tízes számrendszerre való átírás az egyszer˝ubb, el˝oször ezzel foglalkozunk.

Az átalakításhoz semmi más nem kell, mint egyszer˝uen felírni azt az összeget, amelynek rövidítéséb˝ol a szám jelsorozatát kaptuk. Azokat a számjegyeket, amelyek a tízes rendszerben nincsenek benne helyettesíteni kell az értékük tízes rendszerbeli alakjával. Az így kialakult összegben már minden tízes számrendszerben van felírva, ha elvégezzük a m˝uveleteket az eredmény is tízes számrendszerbeli lesz, és ez éppen a szám tízes számrendszerben megadott alakját adja.

Példa: A1F(16)−→A·162+ 1·161+F·160−→10·162+ 1·161+ 15·160 = 10·256 + 16 + 15·1 = 2591(10). 1011(2) −→1·23+ 0·22+ 1·21+ 1·20= 8 + 2 + 1 = 11(10).

AA,8(16)−→A·161+A·160+ 8·16−1 −→10·16 + 10·1 + 8·1/16 = 170,5

Aktivitás:Adjuk meg a8A3E1(16),726(8),1010101,01(2) számok tízes számrendszerbeli alakját!

Egy tetsz˝olegesb valós szám tízes számrendszerb˝ol tetsz˝olegesA-alapú rendszerben való felíráshoz nem kell mást tennünk, mint megkeresnünkAazon hatványainak összegét, amely (tízes számrendszerben)b-vel egyenl˝o.

Azaz meg kell állapítani, hogy a

b=an−1An−1+an−2An−2+. . .+a1A1+a0A0+a−1A−1+. . .+a−mA−m=Pn−1

i=0 aiAi+Pm

i=1a−iA−i egyenl˝oség milyenn,mésaiértékekre teljesül. Ezekr˝ol az értékekr˝ol csak annyit tudunk, hogy az összesai < A és nemnegatív.

Vizsgáljuk el˝oször az összeg els˝o felét. Azt, amelyben az ai indexei nemnegatívok. Ez a részösszeg a b-nek A-alapú egészrészét adja meg, és látható, hogy az utolsó tag kivételével minden más tag oszthatóA-val. Mivel a < A, ezért az is nyilvánvaló, hogy az összeget – azaz b egészrészét – maradékos osztással A-val elosztva éppena0-t kapunk maradékul, a hányados pedigan−1An−2+an−2An−3+. . .+a1A0lesz. EztA-val újra elosztva

a1-et kapunk maradékul. Ezeket a lépéseket az újabb és újabb hányadosra elvégezve rendre megkapjuk a többi pozitív index˝uai-t. Az osztásokat akkor fejezzük be, ha a hányados nullává válik. Ez éppen azn-edik lépésben következik be, és ekkor az utolsó együtthatót, az an−1-et is megkapjuk. Így nyilvánvaló, hogy a maradékok rendre az a0, ...,an−1 értékeket adják, azaz ab-t el˝oállítóAszámrendszerbeli alakot definiáló összeg els˝o fele már felírható.

Az összeg második felét vizsgálva el˝oször azt kell megállapítanunk, hogy ez a részösszeg éppenb-nekA-alapú törtrészét adja meg. Vegyük észre, hogy ha ezt az összeget – azazbtörtrészét –A-val szorozzuk, akkor a kapott összeg egy olyan A-alapú számot határoz meg, amelynek egész része éppen a−1, a törtrésze pedig az összeg, amely ugyancsak egy törtszám, csak a számjegyeinek száma azA-alapú alakban eggyel kevesebb, mint az el˝oz˝o törtrészé volt. Ezt a törtszámot A-val szorozva az egészrész a−2, a törtrész egy újabb törtszám, amelynek A-alapú alakjában a−3-tól a−m-ig szerepelnek a számjegyek. A szorzásokat addig folytatva, amíg a törtrész nullává nem válik, megkaphatjuk a b A-alapú alakját megadó összeg összes negatív index˝u ai értékeit és m értékét is, ami nem lesz más, mint a nulla törtrész eléréséhez szükséges szorzások száma.

Sajnos el˝ofordulhat, hogy a törtrész sohasem válik nullává. Ilyen esetben abszámA-alapú alakja végtelen sok számjeggyel leírható törtrészb˝ol áll. Ekkor a szorzást addig kell folytatni, amíg el˝o nem kerül egy olyan törtrész, amelyik már a szorzások eredményeként megjelent. Ett˝ol kezdve ugyanis periodikusan ismétl˝odni fog minden, a két egyforma törtrész közti szorzat, így ab A-alapú alakja periodikus végtelen törtrész˝u lesz.

Ezek alapján az átalakítást a következ˝ok szerint kell elvégezni:

1. Válasszuk a számot egészrészre és törtrészre.

2. Határozzuk meg az egészrész új számrendszerbeli alakját.

3. Határozzuk meg a törtrész új számrendszerbeli alakját.

4. Vessz˝ovel elválasztva írjuk az egészrész mögé a törtrészt.

Példa: 1848,4(10)bináris, oktális és hexadecimális átalakítása.

1. A egészrész: 1848(10), a törtrész0,4(10)

2. Az egészrész átalakítása. (Lásd a 2.2. táblázatot. Csak az osztási eredményeket tartalmazza a kiindulási egészrészt nem!)

2.2. táblázat. Az egészrész átalakítása2-es,8-as és16-os számrendszerbe

2 8 16

index hányados maradék hányados maradék hányados maradék

0 924(10) 0 231(10) 0 115(10) 8

1 462(10) 0 28(10) 7 7(10) 3

2 231(10) 0 3(10) 4 0(10) 7

3 115(10) 1 0(10) 3

4 57(10) 1

5 28(10) 1

6 14(10) 0

7 7(10) 0

8 3(10) 1

9 1(10) 1

10 0(10) 1

Az egészrész alakjai a megadott számrendszerekben:11100111000(2),3470(8),738(16).

3. A törtrész átalakítása. (Lásd a 2.3. táblázatot. Csak a szorzási eredményeit tartalmazza az átalakítandó szám törtrészét, amit az els˝o szorzáshoz használunk, nem!)

2.3. táblázat. A törtrész átalakítása2-es,8-as és16-os számrendszerbe

2 8 16

szorzat szorzat szorzat

index egészrész törtrész egészrész törtrész egészrész törtrész

−1 0 ,8(10) 3 ,2(10) 6 ,4(10)

−2 1 ,6(10) 1 ,6(10) innen ismétl˝odik

−3 1 ,2(10) 4 ,8(10)

−4 0 ,4(10) 6 ,4(10)

innen ismétl˝odik innen ismétl˝odik

A törtrész új alakjai: 0,˙011 ˙0(2), 0,˙314 ˙6(8), 0,˙6(16). A számjegyek feletti pontok a periodikusan ismétl˝od˝o szakaszt jelölik ki.

4. Az új teljes alakok: 11100111000,˙011 ˙0(2),3470,˙314 ˙6(8),738,˙6(16).

Aktivitás:Számítsuk ki, mekkora hibát vétünk, ha az átalakításkor keletkez˝o végtelen tört jegyeit egy adott

−ikitev˝ot˝ol elhagyjuk!

Valamely valós szám tetsz˝oleges A alapról tetsz˝oleges B alapra való átalakítása, ha sem A sem B nem tíz, két menetben történhet. El˝oször alakítsuk át a számot tízes alapú formára, majd ezt alakítsuk továbbB-alapú alakra.

Példa: Mi a kettes számrendszerbeli alakja a738,˙6(16)-nak?

1. Átalakítás tízes számrendszerre:

738,˙6(16) = 7 ·162 + 3·161 + 8·160 +P

i=16·16−i = 1848(10)+ (6(10)/16(10))/(1(10)−1(10)/16(10)) = 1848(10)+ 2(10)/5(10)= 1848,4(10)

A számolásban felhasználtuk azt, hogy a P

i=16·16−i egy a1 = 6/16 kezd˝oelem˝u q = 1/16 kvóciens˝u mértani sor, amelynek értéke aza1/(1−q)képlettel számolható.

2. A tízes számrendszerbeli alak továbbalakítása kettes számrendszerre (lásd a2.4. táblázatot).

2.4. táblázat. Az1848,4(10)átalakítása2-es számrendszerbe egészrész osztása törtrész szorzása index hányados maradék egészrész törtrész index

0 924(10) 0 0 ,8(10) −1

A kettes számrendszerbeli alak:11100111000,˙011 ˙0(2).

Aktivitás:Mi az alakja nyolcas számrendszerben a1010101,01(2)és a8A3E1(16)számoknak?

Természetesen a számokkal minden számrendszerben lehet m˝uveleteket végezni. A négy alapm˝uvelet elvégzése nem is olyan nehéz, ha felismerjük, hogy ugyanolyan szabályok érvényesek, mint amiket a tízes számrendszerben megismertünk. A problémát legfeljebb ezeknek a szabályoknak az adaptálása okozza.

Nehezebb a bonyolultabb m˝uveletek hozzáigazítása tetsz˝oleges, de nem tízes alapú számrendszerhez.

„Nagy” számokkal, segédeszköz nélkül, még a tízes rendszerben is problémát okozhat a négy alapm˝uvelet elvégzése. Manapság – a különféle számoló eszközök korában – a segédeszközök mindenki számára elérhet˝ok.

S˝ot, a négy alapm˝uvelet mellett lehet hatványozni, gyököt vonni, és néhány egyszer˝u függvény értékét is ki tudjuk számítani ezekkel az eszközökkel. Némelyik nemcsak tízes számrendszerben tud számolni, hanem kettes vagy tizenhatos rendszerben is.

In document Informatikai rendszerek alapjai (Pldal 31-36)