Számrendszerek, számábrázolás



Hasonló dokumentumok
Harmadik gyakorlat. Számrendszerek

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

Dr. Oniga István DIGITÁLIS TECHNIKA 2

Assembly programozás: 2. gyakorlat

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

L'Hospital-szabály március 15. ln(x 2) x 2. ln(x 2) = ln(3 2) = ln 1 = 0. A nevez határértéke: lim. (x 2 9) = = 0.

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA

2. Fejezet : Számrendszerek

Kedves Diákok! A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

LEBEGŐPONTOS SZÁMÁBRÁZOLÁS

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

4. Fejezet : Az egész számok (integer) ábrázolása

Komplex számok trigonometrikus alakja

A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Komplex számok algebrai alakja

Informatikai Rendszerek Alapjai

A számrendszerekrl általában

Számrendszerek. Bináris, hexadecimális

Függvények határértéke, folytonossága

KOVÁCS BÉLA, MATEMATIKA I.

Számelméleti feladatok az általános iskolai versenyek tükrében dr. Pintér Ferenc, Nagykanizsa

Általános statisztika II. Kriszt, Éva Varga, Edit Kenyeres, Erika Korpás, Attiláné Csernyák, László

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

Elemi matematika szakkör

Számrendszerek. A római számok írására csak hét jelt használtak. Ezek segítségével, jól meghatározott szabályok szerint képezték a különböz számokat.

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

5. Fejezet : Lebegőpontos számok. Lebegőpontos számok

1. Halmazok, számhalmazok, alapműveletek

Aritmetikai utasítások I.

Fixpontos és lebegőpontos DSP Számrendszerek

0653. MODUL TÖRTEK. Szorzás törttel, osztás törttel KÉSZÍTETTE: BENCZÉDY LACZKA KRISZTINA, MALMOS KATALIN

I. el adás, A számítógép belseje

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

1. forduló Az adat, az információ és a hír jelentése és tartalma. A kommunikáció

5. Fejezet : Lebegőpontos számok

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

Matematikai és matematikai statisztikai alapismeretek

I+K technológiák. Számrendszerek, kódolás

Megoldások 9. osztály

Bevezetés. Párhuzamos vetítés és tulajdonságai

Lineáris egyenletrendszerek

Határozott integrál és alkalmazásai

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

I. Egyenlet fogalma, algebrai megoldása

Számelmélet Megoldások

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

Az Informatika Elméleti Alapjai

Analóg és digitális jelek. Az adattárolás mértékegységei. Bit. Bájt. Nagy mennyiségû adatok mérése

Egészrészes feladatok

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Programozás II. Segédlet az első dolgozathoz

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

KOMPENZÁCIÓS TERV DIONIS INTERNATIONAL PEOPLE GROUP- ÜZLETI RENDSZER

(jegyzet) Bérci Norbert szeptember 10-i óra anyaga. 1. Számrendszerek A számrendszer alapja és a számjegyek

Permutációk véges halmazon (el adásvázlat, február 12.)

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

5.1.4 Laborgyakorlat: A Windows számológép használata hálózati címeknél

Amit a törtekről tudni kell Minimum követelményszint

Negatív alapú számrendszerek

Feladat: Indítsd el a Jegyzettömböt (vagy Word programot)! Alt + számok a numerikus billentyűzeten!

Oszthatósági problémák

Egyváltozós függvények 1.

2. Halmazelmélet (megoldások)

Az 5-2. ábra két folyamatos jel (A és B) azonos gyakoriságú mintavételezését mutatja ábra

9. Tétel Els - és másodfokú egyenl tlenségek. Pozitív számok nevezetes közepei, ezek felhasználása széls érték-feladatok megoldásában

Analízis elo adások. Vajda István szeptember 10. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

INFO1 Számok és karakterek

Analízisfeladat-gyűjtemény IV.

Add meg az összeadásban szereplő számok elnevezéseit!

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók

Lehet vagy nem? Konstrukciók és lehetetlenségi bizonyítások Dr. Katz Sándor, Bonyhád

Digitális technika VIMIAA hét

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

INFORMATIKA MATEMATIKAI ALAPJAI

DIGITÁLIS TECHNIKA I BINÁRIS SZÁMRENDSZER BEVEZETŐ ÁTTEKINTÉS BINÁRIS SZÁMRENDSZER HELYÉRTÉK. Dr. Lovassy Rita Dr.

Máté: Számítógép architektúrák

Hatvány gyök logaritmus

IBAN: INTERNATIONAL BANK ACCOUNT NUMBER. I. Az IBAN formái

7. évfolyam I. félév, 2. feladatsor 1/6

A két csapatra osztás leggyakoribb megvalósításai: Lyukas teli (vagy sima vagy nem lyukas)

Hatványozás. A hatványozás azonosságai

4,5 1,5 cm. Ezek alapján 8 és 1,5 cm lesz.

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Digitális technika VIMIAA hét

Átírás:

Számrendszerek, számábrázolás Nagy Zsolt 1. Bevezetés Mindannyian, nap, mint nap használjuk a következ fogalmakat: adat, információ. Adatokkal találkozunk az utcán, a médiumokban, a boltban. Információt szerzünk és adunk, építjük az információs társadalmat. Szeretnénk mindenr l a lehet legpontosabb információt beszerezni, különböz hírek információ tartalmát hasonlítgatjuk, vizsgáljuk. Az írás az egyik leg sibb információ közvetít, de a piktogramok, képek, kézmozdulatok, arckifejezések, a testbeszéd is ugyanolyan kommunikációs eszköz, mint a telefon, TV, és a napjainkban el térbe került számítógép. Jelen jegyzetben bemutatjuk az adat és információ fogalmát, lehetséges optimális ábrázolását. Tudni fogunk információt mérni, összehasonlítani információ tartalmakat, el tudjuk majd dönteni, hogy a különböz szám és szövegábrázolási módok közül melyiket használjuk annak érdekében, hogy a tárterületet optimálisan használjuk ki. 2. Adat és információ Talán ismer s a következ anekdota: A hajókapitány felszól az árbóckosárban ül matróznak: - Mennyi? - Harminc! - hangzik a válasz, melyt l nem lett okosabb a kapitány, ezért pontosítást várón kérdezi: 1 http://www.huro-cbc.eu

- Mi harminc? A matróz is szeretne pontosabb információhoz jutni, ezért visszakérdez: - Mi mennyi? Ebben a dialógusban rögtön fontos dolgok kerülnek napvilágra, például az adat és az információ fogalma közötti különbségek. Az Idegen szavak és kifejezések kéziszótára szerint: Információ: lat 1. Felvilágosítás, tájékoztatás 2. hírközlés 3. értesülés, adat 4. híranyag, a közlés tárgya 5. inf elektronikus úton továbbított jel; hír Láthatjuk, hogy az információ deniálásában szerepet játszik az adat fogalma, s valóban általában együtt emlegetik ezt a két fogalmat. Legegyszer bben úgy jellemezhetjük kett jük viszonyát, hogy az információ nem más, mint értelemmel bíró adat. De akkor mi az adat? Erre is adhatunk egyszer körülírást: Az adat az információ rögzített formája. Mint láthatjuk, az adat nincs meg az információ nélkül, s az információ is kívánja az adat jelenlétét. Próbáljuk meg feloldani ezt az ellentmondást a következ ekben, megismerve néhány használatos denícióját az adatnak és az információnak, s végül az általunk a továbbiakban használt fogalmát. Az adat egyik értelmezése a következ : Fogalmak, tények, jelenségek, események olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Egy másik frappáns, de csak számítástechnikai megközelítés: Az adat az a legkisebb egység, amivel m veletet tudunk végezni. Tehát pl az a szó, hogy 'alma' adat abban az esetben, ha nem tudom tovább bontani, de abban az esetben nem, ha meghatározhatom az els bet jét, ugyanis akkor már az 'a', mint egy bet lesz az adat. A mi értelmezésünk a következ lesz: 2

1. Deníció. Az adat jelentését l megfosztott jelsorozat. Jegyzetünkben végig azzal fogunk foglalkozni, hogyan ábrázoljuk ezeket a jelsorozatokat, illetve most már használhatjuk azt a kifejezést is, hogy adatokat. Látni fogjuk, hogy egy-egy jelsorozat értelmezése más és más lesz aszerint, hogy mit jelent, tehát milyen információ tartalma volt eredetileg. Lássunk néhány információ deníciót is, miel tt a miáltalunk használtat megadjuk: Az információ a valóság reprezentációján végzett transzformáció, mely végs soron a nyel (ember esetében az agy) terméke. Kicsit nyakatekert a deníció, de mindenképpen hasznos megállni itt egy pillanatra. Azt látjuk, hogy az információ a valóságból táplálkozik, de a megjelenéséhez még hozzáadódik egy transzformáció, ami nem más, mint az értelmezés, ez pedig személyenként más és más lehet. Más tartalommal bír egy id járás jelentés annak, aki kirándulni megy, s annak is, aki eserny t árul. Általában az információ kinyerésére nem elegend maga a reprezentáció, szükség van még úgynevezett háttér információkra, amik lehetnek az egyén személyes tapasztalatai, vagy az adott társadalmiszociológiai rendszer velejárói. Ha valaki Magyarországról Londonba érkezik, bizony kell egy kis id, míg megszokja, hogy a busz nem balról, hanem jobbról jön, így az az információ, hogy hogyan közeledik a busz, mást jelent itthon, s mást Angliában. Az információ egy másik kellemes deníciója: Értelemmel bíró adat. Rövid és frappáns, de kihagyja az információt felfogót, mint olyat, aki maga is alakíthatja az információt. Mi ezentúl a következ deníciót használjuk: 2. Deníció. Információnak tekintünk mindent, ami bizonytalanságot szüntet meg. Egy fontos észrevételt is tehetünk, az adat és az információ egységét szemlélve: Az információ a tartalmi, az adat a formai oldalát jelenti ugyanannak a közleménynek, vagy jelsorozatnak. Mint láthatjuk, mi minden esetben az adaton írott adatot értünk, ami számítástechnikában nagyon is helyénvaló. 3

2.1. Az információ mérése Az információ tehát attól nagyobb, ha nagyobb bizonytalanságot szüntet meg. Jó lenne valahogy mérni, azaz egy konkrét számot hozzárendelni a különböz információtartalmakhoz. Milyen elvárásaink legyenek? a) Ha nem történik bizonytalanság csökkentése, akkor legyen I(X) = 0, ahol I(X) az X esemény információ tartalma. b) Ha felére csökken a bizonytalanság, akkor legyen I(x) = 1, így ha igennem válaszokra képes valaki, akkor pontosan megkaphatjuk a szükséges kérdések számát, ha ügyesen kérdezünk, tehát minden kérdésünkkel felezzük a bizonytalan elemek számát a halmazban. Az ügyes kérdezés azt is biztosítja, hogy a válasz igen/nem volta nem fogja befolyásolni a kapott információt. Például ha kártyalapra kérdezünk, akkor els lépésben a következ t érdemes kérdezni: Szám van rajta (vagy gura)? c) Köt djön a függvény az esemény valószín ségéhez, hiszen minél kisebb a valószín ség, annál nagyobb bizonytalanságot szüntet meg, azaz valamilyen egyenes arány 'féleség' legyen a valószín ség reciproka és az információ tartalom között olyan értelemben, hogy nagyobb reciprokhoz nagyobb információ tartalom köt djön. Ezeket gyelembe véve alkották meg a következ képletet, azaz függvényt: ( ) 1 I(X) = log vagy másképpen I(x) = log(p(x)). p(x) A két képlet ugyanaz, csak a másodikban kihasználtuk, hogy egy szám reciproka egyenl a 1. hatványával, s a logaritmus azonosságai miatt ez az el jel kivihet a logaritmus elé. Vizsgáljuk meg ezt a képletet. Ha egy x esemény valószín sége 100%, akkor p(x) = 1. Egy reciproka egy, így I(x) = log 1. Mivel 2 0 = 1, így I(x) = log2 0 = 0. Tehát látjuk, hogy a biztos esemény nem ad információt, vagy más szóval információ tartalma nulla. Valóban, ha annyit tudunk egy balesetet okozó személygépkocsiról, hogy fekete volt a gumi a kerekén, nem jutottunk információhoz (tekintsünk el az extrém esetekt l). Ha egy esemény valószín sége pici, reciproka nagy lesz, és így a logaritmusa is. Nézzünk egy érdekes példát! 1. Példa. Mivel egy céltáblán végtelen sok pont van, annak a valószín sége, hogy épp a közepébe lövünk pontszer lövést feltételezve, nulla. Ismétlem, nulla a valószín sége, de nem lehetetlen esemény! Mi lesz akkor az információ tartalma ennek a közlésnek, hogy a közepébe l ttünk? 4

Megnézve a képletet, az els alakot nem tudjuk használni, mert nullával kellene osztanunk, viszont a második alakban nullának kellene meghatározni a logaritmusát, ami ismét kudarchoz vezet. Nem tudnánk kiszámolni az információ tartalmat? De, csak éppen egy érdekes dologgal állunk szemben (már megint, ugye milyen izgalmas ez a terület?). Határértékekkel számolva azt mondhatjuk, hogy egy osztva nullával egyenl végtelen, aminek a logaritmusa szintén végtelen, s így azt kapjuk, hogy végtelen nagy az információ tartalom, ami igaz is, hiszen végtelen sok pontból találtunk meg az információ alapján egyet. Talán elegend volt ez a példa ahhoz, hogy lássuk, milyen hasznos képletre tettünk szert. Nézzük még meg, hogy ha egy esemény valószín sége 50%, az mekkora információt fog jelenteni számunkra! 0.5 reciproka 2, aminek logaritmusa 1. Tehát teljesült a b) pontban megadott feltételünk, amit követelményként támasztottunk a képlettel szemben. Még egy példát nézzünk, s meglátjuk, milyen kényelmes ez az összefüggés. 2. Példa. Mennyi az információ tartalma annak, ha egy magyarkártya pakliból megnevezek egy lapot? A valószín ség, mivel 32 lapból áll a csomag,. 32 1 Ennek reciproka 32, aminek logaritmusa 5. Mit mutat ez a szám? Azt, hogy ügyes kérdezéssel (az ügyes fogalmát tisztáztuk fentebb) 5 kérdéssel tudnám kideríteni ennek a lapnak az értékét. 2.2. Az entrópia Fontos jellemz je még egy rendszernek az átlagos információ tartalma. Ezt úgy lehet kiszámolni, hogy vesszük az egyes események információ tartalmát, megszorozzuk a hozzátartozó valószín séggel, s összeadjuk ket. Feltehetjük, hogy nincs nulla valószín ség, s az összes valószín ség összege egyenl eggyel, azaz minden esemény különálló és együtt lefednek minden lehetséges eseményt. Ebben az esetben az információ átlaga, vagy más szóval várható értéke: ( ) ( ) 1 1 n H(X) = p 1 log + + p n log = p i log 1, p 1 p n p i amit szokás entrópiának is nevezni. A legenda szerint amikor Weaver megalkotta ezt a képletet, nem tudta, hogy miként nevezze el, ekkor ajánlotta Neumann János, hogy hívja entrópiának, mert azt igazán senki sem tudja, hogy mi, de divatos, lehet bel le el adást tartani, és kérdezni úgysem mer majd senki sem róla. Hogy ez 5 i=1

igaz-e vagy sem, nem tudni, de entrópia néven vonult be a tudományba ez a fogalom. 1. Tétel. Az entrópia akkor lesz maximális, ha minden esemény valószín sége azonos, ekkor ( ) ( ) 1 1 H max (X) = p 1 log + + p n log = p 1 p n ( ) 1 = p log + + p log p ( ) 1 = n p log = log p ( ) 1 = p ( ) 1 = log(n) p Az utolsó átalakításban használtuk azt ki, hogy ha n darab valószín ségünk van és mindegyik egyenl, akkor értékük 1, és ezt megszorozva n-nel n egyet kapunk. 3. Deníció. A relatív entrópia alatt az entrópia és a maximális entrópia viszonyszámát értjük, azaz H r (X) = H(X) H max(x) A relatív entrópia helyett inkább az R(X) = 1 H r (X) értéket használják, amit redundanciának (terjeng sségnek) neveznek. A redundancia máshonnan is ismer s lehet, azt mondjuk, hogy redundáns egy információs rendszer, ha egy-egy információ többszörösen is szerepel benne. Például ha ismerjük valakinek a nevét, akkor tudjuk azt is, hogy fér, avagy n. Mégis ki kell tölteni az erre szolgáló rovatot sok kérd íven, hiszen nagyon bonyolult lenne meghatározni a név alapján a nemet. Itt ismét példát láthattunk arra, hogy egy algoritmust gyorsíthatunk, ha növeljük a hely bonyolultságát. 3. Példa. Számoljuk ki a következ esemény rendszer entrópiáját! Három eseményünk van, az egyiknek a valószín sége 0.5, a másik kett nek 0.25. Ekkor az entrópia: H(X) = p 1 log( 1 p 1 ) + p 2 log( 1 p 2 ) + p 3 log( 1 p 3 ) = = 0.5 log( 1 1 1 ) + 0.25 log( ) + 0.25 log( 0.5 0.25 0.25 ) = = 0.5 log(2) + 0.25 log(4) + 0.25 log(4) = = 0.5 1 + 0.25 2 + 0.25 2 = 0.5 + 0.5 + 0.5 = 1.5 6

A maximális entrópia, azaz ezért a relatív entrópia A redundancia, azaz H r (X) = H max (X) = log(n) = log(3), H(X) H max (X) = 1.5 log(3) 0.946395. R(X) = 1 H r (X) = 1 1.5 log(3) 0.053605. Valószín ségszámításban van még egy fogalom, ami köthet az entrópiához, ez az úgynevezett szórásnégyzet, ami a várható értékt l való eltérés várható értékének a négyzete. Tehát ha H(x) jelöli az entrópiát, akkor a szórásnégyzet σ 2 = p 1 (H(x) log( 1 p 1 )) 2 + + p n (H(X) log( 1 p n )) 2 Esetünkben ez, mivel H(x) = 1.5, ( σ 2 = p 1 H(x) log( 1 2 ( )) +p 2 H(X) log( 1 2 ( )) +p3 H(X) log( 1 2 )) = p 1 p 2 p 3 ( = 0.5 1.5 log( 1 ) 2 +0.25 ( 0.5 ) 1.5 log( 1 ) 2 +0.25 ( 0.25 ) 1.5 log( 1 ) 2 0.25 ) = = 0.5 (1.5 log 2) 2 + 0.25 (1.5 log 4) 2 + 0.25 (1.5 log 4) 2 = = 0.5 (1.5 1) 2 + 0.25 (1.5 2) 2 + 0.25 (1.5 2) 2 = = 0.5 (0.5) 2 + 0.25 ( 0.5) 2 + 0.25 ( 0.5) 2 = = 0.5 0.25 + 0.25 0.25 + 0.25 0.25 = = 0.125 + 0.0625 + 0.0625 = = 0.25 A szórás azt mutatja meg, hogy mennyire eltér ek a különböz események információ tartalmai. 7

3. Számábrázolás 3.1. A számok és a számítógép A számítógép, ahogy a neve is mutatja, számításokra való, illetve ez volt az els dleges cél, amikor létrehozták. Minden feladatot úgy végez el, hogy számolnia kell, és gyorsaságát is úgy tudjuk az egyik legegzaktabb módszerrel lemérni, hogy megnézzük, milyen gyorsan old meg egy bonyolult számítási feladatot. Általában mátrixszorzásra vagy prímszámkeresésre alapulnak a legtöbb teszt programok. Mindenképpen számokkal dolgozik, s valahogy ezeket a számokat tárolnia kell. Ebben a részben megismerkedünk a legs - r bben el forduló számábrázolási technikákkal. A programozás során nem találkozunk közvetlenül ezekkel az ábrázolási módokkal, a gép elrejti el lünk, de ha alaposabban körbe akarunk járni egy problémát, vagy le akarunk nyúlni a gépi szintre, feltétlenül ismernünk kell, mert meglepetések érhetnek bennünket. Csak néhány olyan terület, ahol bizonyos programozási nyelveknél kénytelenek vagyunk használni: egérkezelés a lemez közvetlen kiolvasása a rendszerid alacsony szint kezelése Vagy a legérdekesebbet említve, szükségünk van rá akkor is, ha valamilyen ok miatt tönkre megy a számítógép, s nem tudnak rajta futni a magas szint diagnosztizáló programok, csak a legegyszer bbek. A számok fajtái számítástechnikai szempontból: Természetes 0; 1; 2; 3; 4;... Egész 0; 1; 1; 2; 2; 3; 3;... Valós 0; 0.5; 2; 3.18; 0.33333, 45, 3... 1. táblázat. Kicsit eltér a matematikai fogalomkört l, mert nem különbözteti meg a racionális, irracionális számokat. Valójában nincs is igazi valós szám, mivel a számokat csak kötött számú számjegy pontossággal és kötött intervallumban tudja ábrázolni. Ez adja a különböz ábrázolási módok jogszer ségét. Elmondható, hogy a számítógép a következ képpen ábrázol: A természetes számokat kettes számrendszerbeli alakjukkal 8

A negatív egész számokat kettes komplemenssel A valós számokat pedig lebeg pontos számábrázolással. Az els két ábrázolási módot xpontos ábrázolásnak is nevezik, ami arra utal, hogy a kettedes pont helye x, míg a lebeg pontosnál változik a kettedes pont helyzete. Valós számokat is tudunk xpontosan ábrázolni, de nem annyira elterjedt. 3.2. Helyiértékes számábrázolás, számrendszerek Miel tt konkrétan megnézzük az ábrázolási módokat, gyeljük meg a számok írását: 124.16 Egy számnak két részét különböztetjük meg, a tizedespont el tti részt egész rész nek nevezzük, a tizedespont mögöttit törtrész nek. A példában jól látszik az is, hogy fontos szerepet tölt be a tizedesponttól való távolság és irány, valamint a számjegy nagysága. Általánosan felírva egy számot, a következ képpen számolhatjuk ki az értékét: ABC.DEF Jelentse p a számrendszer alapszámát, mely az el z példában 10 volt. Ha a számjegy balra foglal helyet az egész és törtrészt elválasztó ponttól, akkor az általa képviselt érték a számjegy szorozva p távolság-1 -gyel. Tehát esetünkben a B által képviselt érték B 10 1. C esetében C 10 0 = C 1. Ha a számjegy jobbra foglal helyet az egész és törtrészt elválasztó ponttól, akkor az általa képviselt érték a számjegy szorozva p távolság -gal. Tehát esetünkben az E által képviselt érték E 10 2. D esetében D 10 1. A szám által képviselt teljes értéket megkapjuk, ha összeadjuk a számjegyek által képviselt értékeket: Az ABC.DEF értéke: A 10 2 + B 10 1 + C 1 + D 10 1 + E 10 2 + F 10 3 = A 100 + B 10 + C 1 + D 0.1 + E 0.01 + F 0.001 Az els példa esetén: 124.16 = 1 10 2 + 2 10 1 + 4 1 + 1 10 1 + 6 10 2 = = 1 100 + 2 10 + 4 1 + 1 0.1 + 6 0.01 9

3.2.1. Konvertálás tízes számrendszerbe Ezekben a példákban 10 hatványaival számoltunk, de szinte tetsz leges szám hatványaival számolhatnánk, s ezt a számot nevezzük a számrendszer alapjának. A számrendszer alapja mindig pozitív egész szám, de természetesen ki lehet terjeszteni más számkörökre is a számrendszer fogalmát. Ha p a számrendszer alapja, akkor p féle számjegyünk van, s ezek rendre 0; 1; 2;... ; p 1. Tehát például a hatos számrendszer számjegyei: 0; 1; 2; 3; 4; 5. A tizenhatosé: 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; A; B; C; D; E; F Bet jel Érték A 10 B 11 C 12 D 13 E 14 F 15 2. táblázat. Amíg nem szokjuk meg, addig érdemes felírni egy kis segédtáblázatot. (2. táblázat) 4. Példa. Számoljuk ki A4F.5B 16 értékét! Az alsó indexben szerepl 16-os szám mutatja a számrendszer alapját, ezt mindig kiírjuk a továbbiakban. Ha nem szerepel, az azt jelenti, hogy tízes számrendszerben van a számunk, tehát A4F.5B 16 = A 16 2 + 4 16 1 + F 16 0 + 5 16 1 + B 16 2 = = 10 16 2 + 4 16 1 + 15 16 0 + 5 16 1 + 11 16 2 = = 10 256 + 4 16 + 15 1 + 5 1 16 + 11 1 256 = = 2560 + 64 + 15 + 5 16 + 11 256 = 2639.355469... 5. Példa. Számoljuk át a 123.23 5 számot is tízes számrendszerbe! 123.23 5 = 1 5 2 + 2 5 1 + 3 5 0 + 2 5 1 + 3 5 2 = = 1 25 + 2 5 + 3 1 + 2 1 5 + 3 1 25 = = 25 + 10 + 3 + 0.4 + 0.12 = = 38.52 10

Ebben az esetben pontos eredményt kaptunk, mivel az ötös számrendszer kifejezhet tízesben pontosan. Néhány számrendszer megkülönböztetett jelent séggel bír a számítástechnikában, ezek a következ k: A bináris, azaz a kettes számrendszer A hexadecimális, azaz a tizenhatos számrendszer Néha alkalmazzák még a négyes és a nyolcas számrendszert is, de ezek jelent sége kisebb. 3.2.2. Konvertálás tízes számrendszerb l Az egész rész konvertálása Láthattuk, hogy hogyan tudunk átírni tetsz leges számrendszerb l tízes számrendszerbe számokat, most azt nézzük meg, hogy tízesb l hogyan tudunk átírni tetsz legesbe. Az algoritmus két részre bontható, el ször az egész részt írjuk át úgy, hogy mindaddig osztjuk a számrendszer alapjával a számot, míg 0 nem marad, és a keletkez maradékok adják a számjegyeket. Mivel a számrendszer alapszámával osztunk, ezért a keletkez maradékok mindegyike kisebb lesz az alapszámnál, ami megfelel számunkra. 6. Példa. Írjuk át 7-es számrendszerbe a 123-as számot! 123 : 7 = 17, a maradék 4 17 : 7 = 2, a maradék 3 2 : 7 = 0, a maradék 2 Tehát a számunk: 234 7 Vegyük észre, hogy a maradékokat fordított sorrendben írjuk össze számmá, azaz alulról kezdjük. Ellen rizzük a megoldást! 234 7 = 2 7 2 + 3 7 1 + 4 7 0 = 2 49 + 3 7 + 4 1 = 98 + 21 + 4 = 123 A könnyebbség kedvéért a következ alakban szokás a számolást felírni: 123 4 17 3 2 2 0 Eleinte talán kicsit zavaró, de sokkal gyorsabb. A szám mellé mindig a maradékot írjuk, alá pedig a hányadost. 11

7. Példa. Írjuk át 3-as számrendszerbe a 38-at! Ellen rzés: 38 2 12 0 4 1 1 1 0 1102 3 = 1 27 + 1 9 + 0 3 + 2 1 = 27 + 9 + 0 + 2 = 38 A törtrész konvertálása A törtrész átírása is hasonló formában történik, gyeljük meg! A törtrészt megszorozzuk a számrendszer alapszámával, s a tizedesponttól balra lév számjegy lesz az új számrendszerbeli szám egyik jegye, ezt elhagyjuk, s újból szorzunk mindaddig, míg nullát kapunk, vagy pedig megunjuk. Igen, itt el fordulhat, hogy nem ér véget az eljárásunk, ezért meg szoktuk mondani, hogy hány értékes jegyig végezzük a számolást. 8. Példa. Nézzünk egy példát, írjuk át ötös számrendszerbe a következ számot: 0.124 0.124 5 = 0.62, értékes jegyünk a nulla, mivel ez szerepel a 0.62-ben a tizedesponttól balra. 0.62 5 = 3.1, a következ jegy a hármas, ezt elhagyjuk, s 0.1-el számolunk tovább: 0.1 5 = 0.5, az új jegyünk a nulla, 0.5 5 = 2.5, új jegyünk a 2, elhagyjuk tehát, s 0.5-tel számolunk tovább: 0.5 5 = 2.5, ismét 2 a jegy, s látható, hogy nem érne véget sohasem a számolás. Írjuk fel a számot, azaz írjuk egymás mellé a számjegyeket, itt eredeti irányban olvassuk össze ket: 0.124 = 0.03022 5 Ellen rizzük! 0.03022 = 0 5 1 + 3 5 2 + 0 5 3 + 2 5 4 + 2 5 5 = = 0 0.2 + 3 0.04 + 0 0.008 + 2 0.0016 + 2 0.00032 = 0.12384, ami elég jó közelít eredmény. Ha tovább folytattuk volna a számolást, még pontosabb eredményt kaptunk volna. 12

9. Példa. Számoljuk át a 0.5625-öt kettes számrendszerbe! Az új írásmóddal végezzük el, azaz a szám alá kerül a szorzat, de mindig csak a függ leges vonaltól jobbra lév számot, azaz a törtrészt szorozzuk a számrendszer alapszámával, jelen esetben a kettessel: 0. 5625 1. 125 0. 25 0. 5 1. 0 Figyeljük meg, hogy a számjegyek a baloldali oszlopban termel dtek, fentr l lefele kell összeolvasni ket, azaz 0.5625 = 0.1001 2 Az algoritmus most szerencsésen véget ért, mert nulla maradt az utolsó szorzás után a vonaltól balra. Ellen rizzük az eredményt! 0.1001 2 = 1 2 1 + 0 2 2 + 0 2 3 + 1 2 4 = = 1 0.5 + 0 0.25 + 0 0.125 + 1 0.0625 = 0.5 + 0.0625 = = 0.5625 10. Példa. Végezetül határozzuk meg 412.564 hatos számrendszerbeli alakját négy 'hatodos' jegy pontossággal! Figyeljük meg, hogy el ször az egész részt számoljuk ki, majd a tört részt. Tehát az egész rész alakja 1524 6 412 4 68 2 11 5 1 1 0 A törtrész számolása: 0. 564 3. 384 2. 304 1. 824 4. 944 13

Tehát a törtrész alakja: 0.3214 6. Egyben írva a számot, kapjuk, hogy 412.564 = 1524.3214 6 Tetsz leges számrendszerb l tetsz leges számrendszerbe általában úgy konvertálunk, hogy el ször tízesbe átalakítjuk a számot, majd onnan alakítjuk át a cél számrendszerbe. 3.2.3. Egyszer sített konvertálások Néha mégis van lehet ségünk arra, hogy elkerüljük ezt a dupla utat. Az alkalmazhatóság feltétele az, hogy a kiinduló számrendszer alapja egész hatványa legyen a cél számrendszernek. Ilyen például a kettes és a nyolcas, vagy a hetes és a negyvenkilences számrendszerek. Ekkor összefogunk annyi számjegyet az alacsonyabb számrendszerbeli számnál, ahanyadik hatványa a magasabb alapja a kisebbnek, majd ezeket a csoportokat írjuk át. Tehát ha például kettesb l akarunk nyolcasba írni, akkor három számjegyet fogunk össze az egész és a tört részt elválasztó ponttól kezdve. Ha kevesebb a számjegyek száma az utolsó csoportban, akkor kiegészítjük nullákkal. Lássunk két példát! 11. Példa. Adott az 11011.11 2 szám, írjuk át nyolcasba! El ször kiegészítjük úgy, hogy a számjegyek száma mind a tört, mind az egész részben osztható legyen hárommal, mert három darab kettes számrendszerbeli számjegy ad ki egy nyolcas számrendszerbelit (kett a harmadikon egyenl nyolc): 011 011. 110, ezek után átírjuk a csoportokat: Az els csoport: 011 2, azaz 3, ami egyenl 3 8 A második csoport: 011 2, azaz 3, ami egyenl 3 8 A harmadik csoport: 110 2, azaz 6, ami egyenl 6 8 Ezeket egymás mellé írva alakul ki 33.6 8 alak. Visszafelé ugyanígy járunk el, csak majd a vezet és utolsó nullákat kell kitörölni a számból: 12. Példa. Nézzünk egy példát, ahol 16-os számrendszerb l írunk át kettesbe: 3A2F.3B4 16 Határozzuk meg el ször a csoportokban résztvev jegyek számát: kett a negyediken egyenl 16, így négy jegybe kell átírni egyenként a 16-os számrendszerbeli jegyeket: Egymás mellé írva a csoportokat: 0011 1010 0010 1111. 0011 1011 0100 Töröljük ki a felesleges nullákat, s készen is vagyunk: 3A2F.3B4 16 = 11101000101111.0011101101 2 14

3-0011 A - 1010 2-0010 F - 1111 3-0011 B - 1011 4-0100 3.2.4. A pontosság korlátjai Sokszor felvet dik, hogy el kell dönteni, mekkora a legnagyobb és a legkisebb (nem nulla) szám egy adott számrendszerben, ha ismerjük a törtrész és az egészrész számjegyeinek a számát. Legyenek ezeknek számai B és A. A legkisebb szám nyilván az lesz, melynek minden jegye nulla, csak a törtrész utolsó számjegye egyes. Ha a törtrész B darab számjegyet tartalmaz, és p a számrendszer alapszáma, akkor ennek az értéke p B. A legnagyobb szám pedig nem más, mint egy olyan szám, ahol minden jegyen a lehet legnagyobb számjegy áll, ami p alapú számrendszerben épp a p 1. Ekkor, ha hozzáadnánk az imént ismertetett legkisebb számot, folyamatos túlcsordulásokkal egy olyan számot kapunk, amelynek els jegye egyes, a többi nulla, s ez az els jegy most jött létre az A + 1. helyen. Ezek szerint az eredeti szám p A p B. Nézzünk erre is példát! 13. Példa. Legyen A = 5, B = 3, tehát az egészrész számjegyeinek száma 5, a törtrész számjegyeinek száma 3. A számunk legyen négyes számrendszerben. Ekkor a legkisebb (nem nulla) számunk alakja: 00000.001 4 Kiírtuk a vezet nullákat, hogy jobban látszódjon az eredeti szám. Valóban ennek értéke 4 3. A legnagyobb számunk: 33333.333 4, melyhez hozzáadva az iménti 0.001 4 számot kapjuk, hogy 100000.000. Emiatt a legnagyobb számunk értéke 4 5 4 3 Speciálisan, ha nincs törtrész, akkor B = 0, tehát p A p 0 = p A 1 a legnagyobb szám értéke. A fenti példa alapján 4 5 4 0 = 4 5 1 4 5 értéke 100000 4 ebb l ha levonunk 1-et, akkor kapjuk a 33333 4 számot, ami nem más, mint a legnagyobb számunk: 4 5 1 15

3.3. Pozitív számok ábrázolása xpontosan Térjünk rá a jegyzet egyik f céljára, a számábrázolásra. Említettük, hogy a természetes számokat kettes számrendszerbeli alakjukkal ábrázoljuk. A feladat egy kicsit tér csak el az eddig ismertetett számrendszer átírásoktól, mégpedig annyiban, hogy itt pontosan megmondjuk, hogy mennyi helyünk van egy-egy adat számára, azaz minden esetben ki kell töltenünk az esetleg vezet nullákat is. Amikor számábrázolásról beszélünk, mindig megmondjuk, hogy hány biten történik. Általában ez a számítógépek byte alapú memória szervezése miatt 8-nak valamely egész számú többszöröse lesz. Ett l persze a feladatokban el lehet térni, de a gyakorlatban mindig valahány byte-on ábrázoljuk a számokat. Nézzünk azért egy példát: 14. Példa. Adjuk meg 8 biten a hetvenhármas szám alakját! 73 = 01001001 2 Amennyiben elképzelünk egy kettedes pontot is a számban, lehet ségünk van valós számok ábrázolására. Ilyenkor az els bitet az el jelnek tartjuk fent, amennyiben értéke nulla, pozitív lesz a számunk, egyes esetén negatív. Nem terjedt el a gyakorlatban, de néhány programozási nyelv alkalmazza. Erre is nézzünk két példát: 15. Példa. Legyen az ábrázolni kívánt számunk a 9.75, a kettedes pontot jobbról számolva a 3. bit elé képzeljük el. Ekkor számunk a következ alakot nyeri kettes számrendszerben:1001.11 2 Ábrázoljuk 16 biten: az els bit 0, mivel pozitív a szám. Ki kell egészíteni még a végét egy nullával, hogy megfelel helyre kerüljön a kettedes pont: 0000 0000 0100 1110 16. Példa. A második példa legyen a 121.32. Ekkor a szám bináris alakja: 1111001.010100011... 2 Legyen a kettedes pont jobbról a 6.bit el tt, így mivel a szám negatív, els bitje egyes, és lecsonkoljuk a végét úgy, hogy csak 6 értékes jegy maradjon a törtrészben. Az ábrázolt 16 bites érték: 1001 1110 0101 0100 16

3.4. Negatív számok ábrázolása xpontosan Egész számok esetében az a gond, hogy lehet negatív is egy szám. Célszer nek látszik fenntartani egy bitet - mondjuk az els t - ennek jelölésére, de a gyakorlatban más módszer vált be, mégpedig a kettes komplemenssel való ábrázolás. Ismerkedjünk meg ennek a fogalmával. A komplemens, mint idegen szó azt jelenti, hogy kiegészít. Valóban, a kettes komplemens is ezt jelenti, nem a számot ábrázoljuk, hanem azt az értéket, mely kiegészíti az ábrázolható legnagyobb számra. Figyeljük meg a következ egyszer trükköt, ami miatt bevezették a kettes komplemens használatát: Tegyük fel, hogy ki akarjuk vonni 563-ból a 452-t. Ezt így is el lehet végezni: 563 + (1000 452) 1000 Látszólag feleslegesen bonyolítottuk meg a dolgot, de a számítógépen nagyon könny egy egész hatvány kivonása, hiszen csak el kell hagyni (nullával helyettesíteni) egy számjegyet: 13 8 = 1101 2 1000 2 = 0101 2 Látható, hogy ugyanerre jutottunk volna, ha elhagyjuk az 1101 2 számból az els egyest. A komplemens képzéssel azt érjük el, hogy nem a 452-t ábrázoljuk, hanem az 1000 452-t. Így, ha összeadjuk valamely számmal, s elhagyjuk az els számjegyet, helyes eredményt kapunk: 1000 452 = 548 Ezt a kivonást is könnyebbé tehetjük, ha észrevesszük, hogy 1000 452 = 1 + 999 452 Ennek az összegnek a 999 452 része nagyon könnyen számolható, hiszen megkapjuk az eredményt, ha a szám minden jegyét kiegészítjük kilencesre, ezt hívjuk kilences komplemensnek: 452 kilences komplemense 547, mert ez az a szám, melynek jegyei épp kilencre egészítik ki a 452-es számot. Az 547- hez hozzáadva 1-t, megkapjuk az eredeti 548-ast, ami a cél volt. Ezt szokták nevezni tízes komplemensnek is. Ezek szerint: 563 452 = = 563 + 548 1000 = 17

Valóban, 563 452 = 111. = 1111 1000 = 111 Nézzük meg egy másik példán, de már kettes számrendszerben. 17. Példa. Végezzük el öt biten a 8 3 m veletet: 8 alakja öt biten kettes számrendszerben: 01000 3-at az iménti módszerrel ábrázoljuk, el ször meghatározzuk az egyes komplemensét, azaz minden bitjét kiegészítünk egyesre. Ez kettes számrendszer esetén nagyon egyszer, ahol egyes van oda nullát, ahol nulla van, oda egyest kell írni: A 3 alakja kettes számrendszerben öt biten: 00011, ennek egyes komplemense: 11100. Adjunk még hozzá egyet, így kapjuk meg a kettes komplemenst: 11101 Most már ezt a számot hozzáadva a 8-hoz és elhagyva az els - túlcsordulással létrejött - számjegyet, megkapjuk az eredményt: 8 + ( 3) = 01000 + 11101 = 1 00101 elhagyva a vonal el tti jegyet 00101-et kapunk, melyet visszaszámolva 5 az eredmény. Negatív számokat kettes komplemenssel ábrázolunk, mintegy el készítve arra a számot, hogy megtörténjen a kivonása az abszolút értékének, tehát a szám hozzáadása valamely számhoz. Vegyük észre, hogy így nincs szükség a kivonás m veletére, elég, ha a processzor csak összeadni tud. Az egyes komplemens képzése nagyon egyszer a gépnek, minden bit helyére az ellentettjét írja, majd az els jegy elhagyása is könny, mert az általában egyszer en elveszik, ha nincs hely a tárolására (valójában a FLAG regiszter ún. átvitelt jelz bit jébe csúszik át). Kettes komplemens ábrázolásnál a pozitív számokat hagyományosan, kettes számrendszerbeli alakjukkal ábrázoljuk. Figyeljünk arra, hogy nem tudunk tetsz leges tartományban ábrázolni, hiszen a szám els bitje mutatja azt, hogy negatív, vagy pozitív az ábrázolt szám. Jegyezzük meg, hogy ez nem el jel bit, mert attól, hogy megváltoztatjuk, nem kapjuk a szám ellentettjét! Nevezzük csak jelz bitnek! Ezekb l következik, hogy ha n darab bit áll a rendelkezésünkre, akkor a számokat ebben a formában 2 n 1 -t l 2 n 1 1-ig ábrázolhatjuk, tehát 8 biten például 128-tól 127-ig. A pozitív számok a 00000000 és a 01111111 18

közé es számok, míg a negatívak komplementerei 10000000 és 11111111 közé esnek. 18. Példa. Végezzük el a következ kivonást 8 biten: 62 28 1. El ször meghatározzuk a 62 alakját: 00111110 2. A 28-hoz meghatározzuk a 28 alakját: 00011100 3. Innen az egyes komplemenst: 11100011 4. A kettes komplemens, azaz egyel növelve: 11100100 Immár elvégezhetjük a m veletet: 62 00111110-28 11100100 34 1 00100010 összeadva Kissé nehéznek t nik az összeadás, de ha mondjuk magunkban a maradékokat, id vel nem fog annyira vészjóslóan hangzani az, hogy egy meg egy az nulla, maradt az egy. Kis gyakorlás után megszokjuk, hogy átcsordulnak összeadáskor a számjegyek, s pár példa után nem fogjuk érteni, hogy miért t nt nehéznek. Ez tehát az egész számok ábrázolása. Felvet dik, hogy abban az esetben, amikor csupán a byte bitjeinek az értékeit ismerjük, honnan tudjuk eldönteni, hogy ez most kettes komplemens ábrázolás, vagy sima xpontos, azaz kettes számrendszerbeli alak. A válasz kézenfekv, bár szomorú: Sehonnan nem dönthet el. Épp ett l adat az adat, és információ az információ. Ha pl. a következ byte tartalom adott: 11111111, akkor ez xpontos ábrázolásnál 255-nek az ábrázolása, de ha tudom, hogy a kettedes pont xen az utolsó jegy el tt van, akkor 127.5-r l van szó. Ha pedig kettes komplemens ábrázolásról van szó, akkor ez 1-nek az ábrázolása. Hogyan lehet vajon visszaszámolni egy kettes komplemenssel ábrázolt szám esetén az eredeti értéket? Ha a szám pozitív, akkor nincs más dolgunk, mint egyszer en visszaszámoljuk a már ismert módon a kettes számrendszerb l, pozitív volta pedig egyértelm en kiderül abból, hogy az els bitjének értéke nulla. Ha az els bit egyes, akkor ugyanazon lépéseket végezzük el, mint amiket az el bb, csak fordított sorrendben: 1. Levonunk a számból egyet 19

2. Az egyesek helyébe nullákat, a nullák helyébe egyeseket írunk 3. Visszaszámoljuk az így kapott kettes számrendszerbeli szám értékét tízes számrendszerbe, megkapjuk az eredeti szám értékének abszolút értékét 4. Negáljuk a számot, azaz elé rakunk egy mínuszjelet Tehát ha például a számunk 11110101, akkor az egyes komplemens 11110100 volt, így az eredeti szám 00001011 2. Ezt visszaszámolva kapjuk, hogy 11, tehát a keresett szám a 11 volt. Sajnos gyakori hiba, hogy csak az abszolút értékig oldják meg a feladatot, ne felejtsük el kitenni a mínuszjelet, hiszen a számnak negatívnak kell lennie. 3.5. A lebeg pontos számábrázolás Az utolsó ábrázolási mód a lebeg pontos számábrázolás, mellyel a valós számokat ábrázoljuk. Ahogy a neve is mutatja, itt nem x helyre képzeljük el a kettedes pontot, hanem állandóan változtatja a helyét. El ször is ismerkedjünk meg a számok normál alakjaival. A normál alak azt jelenti, hogy szorzat formájában írjuk a számokat : 126 = 1.26 10 2 = 12.6 10 1 = 0.126 10 3 Látjuk, hogy itt is többféle alak lehetséges. A számítástechnikában kikötjük, hogy a szorzat els tényez jének 0 és 1 közé kell esnie. Így már egyértelm minden számnak a normál alakja. Az els tényez t mantisszának nevezzük, a 10 kitev jét pedig karakterisztikának. Ha a szorzat második tényez jének az értéke ismert - esetünkben 10 -, akkor nem kell ábrázolnunk, elég csupán a mantisszát és a karakterisztikát ábrázolni. Figyeljük meg, hogy a mantissza adja meg a szám értékes számjegyeinek számát, a karakterisztika pedig azt az intervallumot, amelyben a szám helyet foglalhat. Természetesen most is a kettes számrendszerhez kell folyamodnunk, így az alap esetünkben 2 lesz. 19. Példa. A 12.5-nek a normál alakja kettes számrendszerben: 12.5 = 1100.1 2 = 0.11001 2 2 4 = 0.11001 2 2 100 2 Itt a karakterisztikát is kettes számrendszerben adtuk meg. Ilyenkor az a feladatunk, hogy ábrázoljuk a mantisszát: 0.11001 és a karakterisztikát: 100. A hagyományos eljárás szerint mindegyikre szánnak valahány bitet, ezeket a számokat ismernünk kell ahhoz, hogy értelmezni tudjuk a számot. Az els 20

bitet fenntartjuk a szám el jelének, így negatív számokat is tudunk ábrázolni. A karakterisztika ábrázolásánál úgynevezett feszített el jeles számábrázolást alkalmaznak, ami azt jelenti, hogy a karakterisztikához hozzáadnak egy számot, ami megfelel a karakterisztika ábrázoláshoz szükséges biteken ábrázolható azon számnak, amelyiknek csupán az els számjegye egyes, a többi nulla. Tehát ha a karakterisztika 8 biten van elhelyezve, akkor ez a szám az 10000000, azaz a 128 bináris alakja. Ezáltal a karakterisztika értékét megkapjuk, ha az ott ábrázolt számból kivonunk 128-at. Egy általános modell a 4 byte-os számábrázolás: A biteket jobbról balra számozva 0-tól 31-ig a következ felosztás lehetséges: 31. bit: a szám el jele 30-23 bitek: a feszített el jellel ábrázolt karakterisztika 22-0 bitek: a mantissza Figyelembe véve, hogy a mantissza értéke nagyobb egyenl 0.1 2 -nél és kisebb 1.0 2 -nál a kettedes pont utáni els jegy mindig egyes, ezért ezt felesleges ábrázolni. 20. Példa. Ezek után nézzük meg egy szám konkrét alakját, legyen ez a jól ismert 12.5. A normál alakja kettes számrendszerben: A mantissza: 0.11001 A karakterisztika: 100 0.11001 2 100 A szám el jele pozitív, ennek a nulla felel meg, a negatívnak pedig az egyes. Akkor a 31. bit 0 lesz. A karakterisztikához hozzáadva a feszített el jel miatt a 128-at, alakja 10000100, ez lesz a 30 23 bitek tartalma A mantisszából elhagyva az els egyes számjegyet: 1001, majd kiegészítve nullákkal a megfelel 23 bitnyi hosszra: 10010000000000000000000 A szám alakja tehát: 0 10000100 10010000000000000000000 A függ leges vonal jelzi a különböz szakaszok határait, tehát sorrendben az el jel bit, a karakterisztika és a mantissza határait. Az ismertetett eljárástól vannak különböz módok is, de nagyjából azonos az ábrázolás alapgondolata. 21

Ilyen például az IEEE 754 szabvány szerinti ábrázolás, ahol mindig 2- es számrendszerben ábrázoljuk a számot, 10-es számrendszerbeli alakját az alábbi képlet segítségével kapjuk meg: szam = e m 2 k, ahol e értéke +1 vagy 1 lehet, attól függ en, hogy az el jelbit 0 vagy 1, m a mantissza, k a (karakterisztika 127) értékkel egyezik meg. Ugyanakkor van, ahol 16-os számrendszerben normálják a számot, így természetesen ábrázolni kell a mantissza minden jegyét, s van, ahol nem alkalmazzák a feszített el jeles karakterisztika ábrázolást, arról már nem is beszélve, mennyi vállfaja van a mantissza és a karakterisztika ábrázolására használt bitek számának. 3.6. Decimális ábrázolások A számok ábrázolásában láthattuk, hogy nagy szerepet játszik az, hogy miként lehet a gyakorlatban is használni az adott ábrázolási módot. Egy másik fajta megközelítésben a hangsúlyt arra helyezik, hogy könnyen lehessen kiíratni a számokat. A számjegyek, mint karakterek is értelmezhet k, tehát ezeket a most közvetkez ábrázolási módokat akkor használjuk, ha nem az a cél, hogy matematikai m veleteket végezzünk majd a számokkal, hanem az, hogy gyorsan és kényelmesen tudjuk kiíratni képerny re vagy nyomtatóra. Mivel a számokat általában tízes számrendszerben használjuk, decimális számábrázolásnak is nevezik ezt a tárolását a számoknak. Többféle változat van, nézzünk bel lük párat: Az ASCII (American Standard Code for Information Interchange) kód egy olyan kódrendszer, ahol minden 0 és 255 közötti számnak megfelel egy karakter, azaz minden bájt értelmezhet úgyis, mintha egy karakter kódja lenne rajta. (Ne feledjük, hogy egy bájt 8 bit, azaz egy nyolcjegy kettes számrendszerbeli szám. Innen származik a bit elnevezés is, azaz binary digit, bináris számjegy). A számjegyeket lehet jeleknek is értelmezni, ebben a kódrendszerben a következ számok lesznek a számjegyek kódjai. (3. táblázat) Figyeljük meg, hogy a hexadecimális alakban a második jegy éppen a számot adja! 3.6.1. Decimális ábrázolás el jel bájttal Az ötlet nagyon egyszer, egész számokra alkalmazzák csupán: Minden számjegynek az adott számban feleljen meg a hozzátartozó ASCII kód, az el jel kerüljön a szám elé egy bájtra. Ha pozitív a szám, akkor az el jel bájt értéke legyen 2B 16, ami 43 és éppen a '+' jel kódja, ha negatív a szám, akkor legyen 2D 16, ami 45 és éppen a '-' jel kódja. Ezáltal ha egy olyan programmal nézzük meg a számot, ami a bájtokhoz rendelt ASCII karakterekként 22

A számjegy ASCII kódja decimálisan ASCII kódja hexadecimálisan 0 48 30 1 49 31 2 50 32 3 51 33 4 52 34 5 53 35 6 54 36 7 55 37 8 56 38 9 57 39 3. táblázat. mutatja meg a tartalmat, épp a számot fogjuk látni az általunk megismert és kedvelt formában. A legtöbb megjelenít program ilyen, pl a Jegyzettömb, Notepad++ és még lehetne folytatni. 21. Példa. Nézzünk egy példát, ábrázoljuk a 123-at! A szám hexadecimális alakja ebben az esetben: 2D 31 32 33 Azért választottuk a kettesével való tagolást, mert két hexadecimális számjegy ad egy bájtot. A 2D jelzi, hogy negatív a szám, a 31 16 adja decimálisan a 49-et, ami épp az egyes kódja, 32 16 a kettesé és a 33 16 a hármasé. 22. Példa. Lássunk egy másik példát, legyen a számunk az 54-es. A szám hexadecimális alakja ebben az esetben pedig: 2B 35 34 A 2B jelzi pozitív voltát, a 35 16 jelenti az ötös és a 34 16 a négyes számjegyet. Ez az ábrázolás nagyon egyszer, bár rendkívül gazdaságtalan, láthatjuk, hogy minden számjegy esetén az egyik fél bájton a hármas számjegy van, ezt felesleges ábrázolni, mert nem ad információt, viszont mint láthattuk nagyon kényelmes. Ennél az ábrázolási módnál láthatjuk, hogy egy n darab számjegyet tartalmazó szám n + 1 bájtot foglal el, hiszen minden számjegyhez tartozik egy bájt, valamint az el jel is külön bájtra kerül. A következ ábrázolási formánál egy kicsit javítunk ezen az arányon. 3.6.2. Decimális ábrázolás beépített el jel bájttal Ennél az ábrázolási módnál az a csel, hogy a szám el jelét elrejtjük az utolsó számjegy kódjában, a többi számjegy kódja marad ugyanaz, mint ed- 23

dig, tehát a számjegyhez tartozó ASCII kód. Láthattuk, hogy erre lehet ség van, hiszen elég lenne a fél bájt is a számjegy ábrázolására. Kétfajta ábrázolás terjedt el, az egyiket nem túl találóan els, a másikat második zónás ábrázolásnak nevezik. Az alábbi táblázatban megadjuk mindkét esetben (azaz amikor a szám pozitív, illetve negatív) az utolsó számjegyhez tartozó bájt kódját. Figyeljük meg, hogy az els zónás esetben pozitív számok esetén nincs különösebb furfang, negatív számok esetén is csak a fél bájt értéke változik. A második zónás ábrázolásban kissé bonyolultabb a helyzet, de nem reménytelen, ha észrevesszük, hogy a számjegyek értékei növekv sorrendben vannak, kivéve a 0-hoz tartozó kódokat. (4. táblázat) Az el jel Az utolsó számjegy Els zónás kód Második zónás kód + 0 30 7B + 1 31 41 + 2 32 42 + 3 33 43 + 4 34 44 + 5 35 45 + 6 36 46 + 7 37 47 + 8 38 48 + 9 39 49-0 70 7D - 1 71 4A - 2 72 4B - 3 73 4C - 4 74 4D - 5 75 4E - 6 76 4F - 7 77 50-8 78 51-9 79 52 4. táblázat. Nézzünk két példát, s mindegyiknek mindkét kódolási megfelel jét. 23. Példa. Legyen a számunk a 267. Ennek alakja az els zónás formátumban 32 36 77. A 32 16 és 36 16 jelzi az els két számjegyet, a kettest és a 24

hatost. A 77 16 jelentése, ahogy a 4. táblázat 3. oszlopából kiolvasható, tehát az utolsó számjegy hetes, és a szám negatív. Második zónásan ugyanez a szám: 32 36 50. Az els két rész értelmezése ugyanaz, mint az els zónás ábrázolásnál, az 50 16 értelmezése szintén kiolvasható a 4. táblázat 4. oszlopából, tehát az utolsó számjegy hetes, és a szám negatív. 24. Példa. A következ számunk legyen a 3267. Ennek alakja az els zónás formátumban 33 32 36 37. A számok értelmezése: 33 16 3, 32 16 2, 36 16 6, 37 16 7, és mivel ez az utolsó számjegy, tudjuk, hogy a szám pozitív a 4. táblázat 3. oszlopa miatt. A második zónás alakja a számnak 33 32 36 47, a számok értelmezése: 33 16 3, 32 16 2, 36 16 6, 47 16 7, és mivel ez az utolsó számjegy, tudjuk, hogy a szám pozitív a 4. táblázat 4. oszlopa miatt. Meggyelhetjük, hogy mind az els, mind a második zónás számábrázolásnál ugyanannyi bájtot használunk a számjegyek ábrázolására, mint ahány számjegy van, mert az el jel beépül az utolsó számjegyet ábrázoló bájtba. Ez csekély javulás a külön el jel bájttal való ábrázoláshoz képest, az igazi áttörést az alábbiakban ismertetett tömörített ASCII kódú ábrázolási forma adja. 3.6.3. Tömörített ASCII kódú ábrázolás Ennek az ábrázolási formának az elterjedt elnevezése a BCD (Binárisan kódolt decimális szám) Említettük már, hogy pazarlás egy teljes bájtot alkalmazni egyetlen számjegy ábrázolására, ez a kódolás oldja meg a problémát, ugyanis két számjegyet s rít egy bájtba, egyiket az els, másikat a második felére helyezve el. Az el jel az utolsó fél bájtra kerül oly módon, hogy a C 16 a '+' jelet a D 16 a '-' jelet fogja jelenteni. A számjegyeknek a saját értéküknek megfelel hexadecimális szám kerül, ami pontosan megegyezik a számmal, ez biztosítja azt, hogy könny kiíratni ket. Van egy kis gond, mégpedig az, hogy a számítógépek bájt szervezés ek, ami azt jelenti, hogy nem illik fél bájtra helyezni egy adatot. Mivel a számunknak egy bájt egész számú többszörösének kell lennie a tárolóban, ezért úgy oldották meg, hogy egyszer en elé írnak egy nullát, ha nem így lenne. Mikor fordul el ez a gond? Mivel minden számjegy fél bájtot foglal el, és még az el jelnek is kell egy fél bájt, ezért ha a számunk páros számú számjegyet tartalmaz, akkor szükséges ez a kiegészítés. Ismét lássunk két példát: 25

25. Példa. Legyen a számunk a 123. A szám páratlan számjegyb l áll, emiatt nem kell kiegészíteni az elején egy nullával, hanem már kódolhatjuk is: 12 3D. A 12 16 jelenti az egyes és a kettes számjegyet, a 3D 16 a hármast és a negatív el jelet, azaz 3 16 miatt a hármas és a D 16 jelzi, hogy negatív a számunk. 26. Példa. Nézzünk egy példát arra is, amikor ki kell egészíteni a számot nullával, azaz páros számú számjegyet tartalmaz: 5462. Ekkor a kódolás el tt eléírunk egy nullát: 05462. Így már átírható, a megoldás: 05 46 2D. A D 16 jelzi a negatív tulajdonságot, s látható, hogy ha nem lenne kiegészítve nullával az elején, akkor bizony ott maradt volna egy bájt befejezetlenül. A fentieken kívül léteznek még más kódrendszerek is, de a logikájuk nagyban megegyezik az ismertetettekkel. Ilyen kódolás például az amikor a karaktereket az EBCDIC kódjukkal írjuk le, de napjainkban már nem használják széles körben ezt a kódrendszert, ezért választottuk a tárgyalás alapjául az ASCII kódú decimális ábrázolásokat. Hivatkozások [1] Fülöp Géza: Az Információ, ELTE Egyetemi jegyzet, Budapest, 1996. [2] Falucskai János: Bevezetés az informatikába, Nyíregyházi F iskola, Nyíregyháza, 2002. [3] Nyakóné Juhász Katalin: Bevezetés az informatikába, Egyetemi jegyzet, Debrecen, 2001. [4] Csala Péter - Csetényi Arthur - Tarlós Béla: Informatika alapjai, ComputerBooks, Budapest, 2001. Tartalomjegyzék 1. Bevezetés 1 2. Adat és információ 1 2.1. Az információ mérése....................... 4 2.2. Az entrópia............................ 5 26

3. Számábrázolás 8 3.1. A számok és a számítógép.................... 8 3.2. Helyiértékes számábrázolás, számrendszerek.......... 9 3.2.1. Konvertálás tízes számrendszerbe............ 10 3.2.2. Konvertálás tízes számrendszerb l............ 11 3.2.3. Egyszer sített konvertálások............... 14 3.2.4. A pontosság korlátjai................... 15 3.3. Pozitív számok ábrázolása xpontosan............. 16 3.4. Negatív számok ábrázolása xpontosan............. 17 3.5. A lebeg pontos számábrázolás................. 20 3.6. Decimális ábrázolások...................... 22 3.6.1. Decimális ábrázolás el jel bájttal............ 22 3.6.2. Decimális ábrázolás beépített el jel bájttal....... 23 3.6.3. Tömörített ASCII kódú ábrázolás............ 25 27