Informatika alapjai-1 Bevezetés, számábrázolás
1/6
Bevezetés Nem törekszünk pontos definíciókra! Információ: a valóság képe
Információ lehet: - kép (rajz, fénykép) - szöveg (beszéd, írás) - zene (Ez milyen valóság képe? Megjelenhet információ, mint a tudat képe, informatikai szempontból ekkor tudatunk a valóság) - ember által nem olvashatóan tárolt - általában elektronikus- információ: számítógép memóriájában, m.veleti egységeiben. Valóság leképezése: pl. fényképezés, valaminek a leírása (Elképzelt valóság leképezése: az összes tervezés) Valóság visszaállítása: tervek megvalósítása, pl. CNC szerszámgép programmal egy munkadarab elkészítése, vagy zene lejátszása hangszeren. Informatika: Az információ létrehozása, feldolgozása, továbbítása. Ebbe nagyon sok minden beletartozik, pl. telefon, rádió, TV. Sz.kebben az, ami technikai értelemben az információhoz tartozik. Általában lesz.kítik a digitális információ kezelésére, azon belül is a számítógépes információkezelésre.
Számábrázolás, aritmetikai m veletek (Szám: valamilyen mennyiség reprezentációja, tipikus információ) Általánosan u.n. helyértékes ábrázolás. Mindennapi életben: Egész szám: 10.000.000 lakos Tizedes szám: 1,86m magas. El8jeles szám: -12°C Alapvet ábrázolási forma: szabad formátumú [el8jeles] [tizedes] decimális szám: N = 123,45 = ( 1) (1*100 + 2 *10 + 3 *1 + 4 *1 / 10 + 5 *1 / 100) = ( 1) (1*102 + 2 *101 + 3 *100 + 4 *10 1 + 5 *10 2 ) Általánosan:
N =±
k i= j
di *10i
Informatika alapjai-1 Bevezetés, számábrázolás
2/6
k: egész jegyek száma j: tizedesjegyek száma. j és k az ábrázolni kívánt számtól függ. Gyakran a jegyek száma kötött. Például Autó napi Km számláló 00000.0..99999.9. Pénzügyi elszámolásokban gyakran 2 tizedesjegy. Exponenciális (tudományos) forma”: N * 10e N: Az el8z8ekben megismert decimális szám e: exponens. F8leg akkor használják, ha a szám túl nagy vagy túl kicsi, és nem fér el a rendelkezésre álló helyen. Gyakran használt esete: Normalizált exponens, például 1 <= N < 10. Bármilyen szám normalizálható. Szokásos megadás: 123,45 = 1,2345E2 = 1,2345*102 Tipikus példa: Kicsit jobb kalkulátor (pl. 10 jegy.). Ha a szám nem fér el 10 jegyen, átvált exponenciális formára. A programok numerikus kimeneti adatainál is ezt a módszert használják, hacsak nincs másképpen beállítva.
Más számrendszerek A számrendszer alapja nem csak 10 lehet. Mellette a leggyakoribb a 2, de bináris adatok ábrázolására gyakran használnak hexadecimális számokat (16-os számrendszer, a számjegyek: 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F), régebben gyakori volt az oktális számábrázolás (8-as számrendszer, a számjegyek: 0,1,2,3,4,5,6,7). A számrendszer jelölhet8 a szám után indexben: 1A516 (számítástechnikában 1A5h vagy $1A5) 1728 Számrendszerek közötti konverzió: Másik számrendszerb8l decimálisba A. a definíció alapján. N = 1A516 = 1 * 162 + 10 * 161 + 5 * 160 = 256 + 160 +5 = 421 B. Vesszük a legnagyobb jegyet. Ha van még jegy, az eddigi összeget szorozzuk a számrendszer alapjával, és hozzáadjuk a következ8 jegyet. Ez csak egész számok esetén m.ködik: 1A516 : 1 * 16 + A = 26 27 * 16 + 5 = 421.
Informatika alapjai-1 Bevezetés, számábrázolás
3/6
Decimálisból másik számrendszerbe. A. Megpróbáljuk kivonni a másik számrendszer alapjának hatványait a számból. Pl. mennyi 335 binárisan? (kett8 hatványai: 256, 128, 64, 32, 16, 8, 4, 2, 1) 333 – 256 = 77 77 – 64 = 13 13 – 8 = 5 5–4=1 1 – 1= 0 Kész. 333 = 256+64+8+4+1 333 = 256*1+128*0+64*1+32*0+16*0+8*1+4*1+2*0+1*1 = 1010011012 Hexadecimálisan el8ször négyesével csoportosítjuk, majd a 4-es csoportot egy hexadecimális jegyként adjuk meg: 333 = 1 0100 1101 = 1 4 D mert egy hexadecimális számjegy pont 4 bináris számjegynek felel meg (1101 = 13 = Dh). B. A számot elosztjuk a másik számrendszer alapjával. A maradék a legkisebb számjegy, a hányadost újra osztjuk, a maradék a következ8 számjegy, és így tovább, míg a szám el nem fogy. 333 átalakítása oktálisra: 333 : 8 = 41, marad 5 41 : 8 = 5, marad 1. 5 : 8 = 0, marad 5. Kész, mert elfogyott! 333 = 5158 Ez binárisan: 5 1 5 101 001 101 mert egy oktális számjegy pont 3 bináris számjegynek felel meg. Természetesen az eredmény ugyanaz, mint korábban.
Bináris számábrázolás Elektronikus digitális eszközökben gyakorlatilag mindig bináris számábrázolást alkalmaznak. Az alkalmazott elemek kétállapotúak, ez a két állapot reprezentálja a 0 és 1 számjegyet (bitet). A gépi bináris számábrázolás formátuma többé-kevésbé kötött, azaz a szám ábrázolására használt bitek száma meghatározott. Az IBM találta ki sok-sok évvel ezel8tt a Byte (8 bites adat egység) fogalmát. Manapság a számokat általában n * 8 biten ábrázolják. A szokásos formák: Hossz Pozitív neve El jeles neve 8 Byte Short integer 16 Word Small integer 32 Long word Long Integer vagy csak Integer 64 Int64 32 Single float 64 Double float 80 Extended float (bels8 m.veletvégzési formátum) 80 Ten bytes 10 vagy 20 jegy. BCD szám.
Informatika alapjai-1 Bevezetés, számábrázolás
4/6
BCD számábrázolás 4 biten ábrázolunk egy decimális számjegyet. 1000 0101 0111 0001BCD = 8571 (1000 = 8, 0101 = 5, 0111 = 7, 0001 = 1) El8nyök pénzügyi számításoknál: - nem kell Decimális/bináris konverzió - a tizedes számokat pontosan meg lehet adni. Már az 1/10 sem adható meg pontosan binárisan (mert 10 törzstényez8s felbontása 5*2)! 8 bites bináris tört ábrázolás esetén: 0.0001100 = 0.09375 < 0.1 0.0001101 = 0.1015625 > 0.1 Bináris számábrázolási lehet8ségek: El jel néküli egész N: a szám n 1 i N = bi * 2 bi az i. bináris jegy i =0
Példa: 10102 = 10 El jeles egész A legnagyobb bit az el8jel: 0 pozitív, 1 negatív. Két lehet8ség: abszolutértékes Példa: 1 010 = -2 vagy Kettes komplemens N = bn 1 * 2 n 1 +
n 2 i=0
bi * 2i
Például n = 4-re: N = b3 * 8 +
2 i =0
bi * 2i
Bit 3 Súly -8
2 4
1 2
Kód
Szám
0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000
+7 +6 +5 +4 +3 +2 +1 0 -1 -2 -3 -4 -5 -6 -7 -8
0 1
A számtartomány -8 ... +7. A negatív számkör a pozitív számkör folyatása egy 4 bites lefelé számlálón. Hasonlít egy decimális számkerekes számlálóhoz, amelyiket visszafelé tekerve 00 után 99 jelenik meg:
Informatika alapjai-1 Bevezetés, számábrázolás
5/6
02 01 00 99 98 A kettes komplemens ábrázolás el8nye: az összeadást (kivonást) el8jelt8l függetlenül lehet elvégezni: +3 0011 +6 0110 +3 0011 -3 1101 +2 0010 -3 1101 -6 1010 -2 1110 +5 0101 +3 0011 -3 1101 -5 1011 Bináris összeadás ugyanúgy jegyenként átvitellel, mint a decimális esetben Az összeadási tábla: 0+0 = 0 0+1 = 1 1+0 = 1 1+ 1 = 0, marad 1 El8jelváltás kettes komplemens számon: A szám bitjeit megfodítjuk, és hozzáadunk 1-et. Pl: +4 0100 -4 1100 -4
1011 +1 1100
+4
0011 +1 0100
Bináris törtábrázolás Általában el8jeles, a tizedesvessz8 az el8jel után van. Pl.: 0,1011 =1/2 + 0/4 + 1/8 + 1/16 = 11/16 = +0,6875 (a negatív számok ekkor is kettes komplemensben szoktak lenni). El8ny: a szorzás m.velet nem csordul túl, ha a szorzó és szorzandó abszolut értéke kisebb, mint 1. Úgynevezett jelfeldolgozó processzorokban használják. Lebeg pontos számábrázolás Amint azt már láttuk, az exponenciális számábrázolásnak három összetev8je van: el8jel, mantissza és exponens, amihez hozzájön a szám el8jele. Bináris esetben: N = S * M * 2E A számítástechnikában az ennek megfelel8 bels8 ábrázolási módot lebeg8pontosnak nevezik. A számítógépekben alkalmazott lebeg8pontos ábrázolást szabványosították egy IEEE szabványban. A továbbiakban csak ezzel foglalkozunk. Adatok tárolására 32 bites vagy 64 bites formátumot alkalmaznak, melyek csak a mantissza és exponens bitszámában különböznek:
Informatika alapjai-1 Bevezetés, számábrázolás
6/6
32 bites ábrázolás: EEEEEEEE MMMMMMMMMMMMMMMMMMMMMMM S Bitszám 1 8 23 Bitpozíció 31 30 23 22 0 64 bites ábrázolás: S EEEEEEEEEEE MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM Bitszám 1 11 52 BitPozíció 63 62 52 51 0 Az ábrázolás összetev8i: • Az el8jel + vagy – • Az exponens -128...127, ill. -1024..1023 Ha E = -128/-1024, vagy E=127/1023, ezek kivételek. A kivételeken belül a következ8k kezelhet8k: o nagyon kis számok, bennük a 0 (ezeket normalizált alakban nem lehetne megadni) o + és – végtelen o s8t: nem számok is értelmezhet8k (angolul „Not a number”). • A Mantissza normalizált: 1 <= M < 2, ezért legnagyobb bitje mindig 1, amit nem is ábrázolunk (úgynevezett rejtett mantissza). Így az ábrázolható számtartományok: Típus Tartomány Értékes jegyek Méret -45 38 Single 1.5 x 10 .. 3.4 x 10 7-8 32 -324 308 Double 5.0 x 10 .. 1.7 x 10 15-16 64 Megjegyezzük, hogy a Double módban leírható szám nagyságrendei sokkal nagyobbak, mint a természetben leírható nagyságrendek, például, mint a világegyetemben lév8 atomok száma: Atoms in the Universe 1066 estimates the number of atoms in our galaxy to be in the area of 1068 and, if dark and exotic matter are considered, then their numbers are possibly close to 1069. There is a wide range of estimates given for the number of galaxies in the universe. Some put the number in the very low 100 billions, others bring it much closer to the one trillion mark. The size of other galaxies range from one million to hundreds of billions of stars. The mass of some of the largest galaxies is trillions of times the mass of our sun. Again, it is supposed that much of this mass consists of dark and exotic matter. If we consider our galaxy to be of average size, and use the highest estimates for both the number of atoms in our galaxy and the total number of galaxies, then the universe would contain about one trillion times the number of atoms as our galaxy. Since our galaxy probably has no more than 1069 atoms, this would mean that at most the universe contains 1069 x 1012 atoms in all. This works out to be just under 1081. If we use lower estimates for the number of atoms in our galaxy and total number of galaxies, then the total number of atoms would be as much as 20 times less, or within the area of 1079. Hence, "atoms in the universe" belongs on this page which spans from 1078 to just under 1081.