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}

Hasonló dokumentumok
Assembly programozás: 2. gyakorlat

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

Dr. Oniga István DIGITÁLIS TECHNIKA 2

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

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

Informatikai Rendszerek Alapjai

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

Harmadik gyakorlat. Számrendszerek

Adattípusok. Dr. Seebauer Márta. Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár

Fixpontos és lebegőpontos DSP Számrendszerek

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

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

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

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

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

Aritmetikai utasítások I.

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

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

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

Digitális Rendszerek és Számítógép Architektúrák

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

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

2. Fejezet : Számrendszerek

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

Számítógép Architektúrák (MIKNB113A)

Számítógép Architektúrák (MIKNB113A)

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

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

Digitális technika VIMIAA02 1. EA Fehér Béla BME MIT

Digitális technika VIMIAA02 1. EA

Az Informatika Elméleti Alapjai

Programozott soros szinkron adatátvitel

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Matematikai alapok. Dr. Iványi Péter

A számrendszerekrl általában

INFO1 Számok és karakterek

Digitális technika VIMIAA01

DIGITÁLIS TECHNIKA I KÓD IRODALOM SZIMBÓLUMKÉSZLET KÓDOLÁS ÉS DEKÓDOLÁS

5. Fejezet : Lebegőpontos számok

Digitális technika VIMIAA01

Bevezetés az informatikába

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

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

26.B 26.B. Analóg és digitális mennyiségek jellemzıi

(jegyzet) Bérci Norbert szeptember i óra anyaga A számrendszer alapja és a számjegyek Alaki- és helyiérték...

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.

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

Műveletek lebegőpontos adatokkal

Digitális technika VIMIAA hét

Negatív alapú számrendszerek

Digitális technika VIMIAA01

Digitális technika VIMIAA hét

Bevezetés az Informatikába

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

OAF Gregorics Tibor : Memória használat C++ szemmel (munkafüzet) 1

Kombinációs hálózatok Számok és kódok

1. INFORMATIKAI ALAPFOGALMAK HÍRKÖZLÉSI RENDSZER SZÁMRENDSZEREK... 6

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Programtervezési stratégiák. Top-down tervezés. Top-down tervezés. Bottom-up tervezés. 4.

Informatika elméleti alapjai. January 17, 2014

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

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

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

A racionális számok és a fixpontos processzorok numerikus felületének a kapcsolata

Alapfogalmak. Dr. Kallós Gábor A Neumann-elv. Számolóeszközök és számítógépek. A számítógép felépítése

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

Bevezetés az informatikába

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

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

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

1. ábra. Repülő eszköz matematikai modellje ( fekete doboz )

Jel, adat, információ

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

Informatikai alkalmazások - levelező ősz

Számítógépes alapismeretek

DIGITÁLIS TECHNIKA I

Vektorok. Octave: alapok. A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

Kifejezések. Kozsik Tamás. December 11, 2016

D I G I T Á L I S T E C H N I K A G Y A K O R L Ó F E L A D A T O K 1.

Számrendszerek. Bináris, hexadecimális

Matematikai alapok. Dr. Iványi Péter

Összeadás BCD számokkal

INFORMATIKA ALAPJAI - I

Diszkrét matematika 2.C szakirány

Információs technológiák 2. Ea: Info-tour-mix. Nélkülözhetetlen alapfogalmak

Analóg és digitális mennyiségek

Diszkrét matematika 2.

Kódelméleti és kriptográai alkalmazások

Gyakorló feladatok. Bipoláris tranzisztor

DIGITÁLIS TECHNIKA I SZÁMRENDSZEREK HELYÉRTÉK SZÁMRENDSZEREK RÓMAI SZÁMOK ÉS RENDSZERÜK. Dr. Lovassy Rita Dr.

Hibadetektáló és javító kódolások

Bevezetés a számítástechnikába

S z á m í t á s t e c h n i k a i a l a p i s m e r e t e k

Hibajavítás, -jelzés. Informatikai rendszerek alapjai. Horváth Árpád november 24.

Az informatika alapjai

Objektumorientált Programozás I.

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

Jel, adat, információ

INFORMATIKA MATEMATIKAI ALAPJAI

3. óra Számrendszerek-Szg. történet

Átírás:

3. gyakorlat Számrendszerek: 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} Alaki érték: 0, 1, 2,..., 9,... Helyi érték: attól függ, hogy a szám melyik pozíción áll Példa: 583 10 = 5 * 100 + 8 * 10 + 3 * 1 = 5 * 10 2 + 8 * 10 1 + 3 * 10 0 583 16 = 5 * 256 + 8 * 16 + 3 * 1 = 5 * 16 2 + 8 * 16 1 + 3 * 16 0 Számrendszerek közötti konverzió: 583 16 =? 10 256 16 1 5 8 3 5 * 256 + 8 * 16 + 3 * 1 = 1411 10 583 10 =? 16 16 3 = 4096, 16 2 = 256, 16 1 = 16, 16 0 = 1 583 10 / 256 = 2 71 10 / 16 = 4 7 10 / 1 = 7 583 10 = 247 16 583 10 =? 2 2 10 = 1024, 2 9 = 512, 2 8 = 256, 2 7 = 128, 2 6 = 64, 2 5 = 32, 2 4 = 16, 2 3 = 8, 2 2 = 4, 2 1 = 2, 2 0 =1 583 10 / 512 = 1 71 10 / 256 = 0 71 10 / 128 = 0 71 10 / 64 = 1 7 10 / 32 = 0 7 10 / 16 = 0 7 10 / 8 = 0 7 10 / 4 = 1 3 10 / 2 = 1 1 10 / 1 = 1 583 10 = 1001000111 2

Másik megoldás: (jegyzet) 583 10 =? 2 583 10 =? 16 /2 Maradék /16 Maradék 583 10 1 583 7 291 10 1 36 4 145 10 1 2 2 72 10 0 36 10 0 18 10 0 9 10 1 4 10 0 2 10 0 1 10 1 583 10 = 1001000111 2 583 10 = 247 16 110010 2 =? 10 64 32 16 8 4 2 1 1 1 0 0 1 0 110010 2 = 32 + 16 + 2 = 50 Törtek konvertálása 35.132 10 =? 2 /2 Maradék egész *2 35 1 0.132 17 1 0.264 8 0 0.528 4 0 1.056 2 0 0.112 1 1 0.224 0.448 0.896 1.792 1.584...... Nem biztos, hogy véges tizedes tört binárisan is véges lesz! Horner elrendezés: Hogy néz ki a 287 10 szám Horner elrendezésben? (((2 * 10 + 8) * 10 + 7 ) Hogy néz ki a 572 8 szám Horner elrendezésben? (((5 * 8 + 7) * 8 + 2)

Összeadás: Mi a 11101101 2 és a 000111 2 számok összege? 11101101 + 000111 11110100 Mi a 14AA5 16 és a F32 16 számok összege? 14AA5 + F 32 15 9D7 Előjeles fixpontos számok ábrázolásai: Előjeles abszolút érték: balról az első bit az előjel: 0, ha a szám pozitív, 1, ha negatív a 0 kétféleképpen ábrázolható: 10000000, 00000000 a legkisebb szám -127, a legnagyobb 127 Egyes komplemens: az első bit az előjel (0, ha pozitív; 1, ha negatív) A szám -1-szerese úgy kapható meg, hogy minden bitjét ellenkezőjére állítjuk. a 0 kétféleképpen ábrázolható: 00000000, 11111111 Kettes komplemens: az első bit az előjel, 0: pozitív, 1: negatív a pozitív szám negáltja úgy kapható meg, hogy az egyes komplemenshez hozzáadunk 1-et. a legkisebb szám a -128, a legnagyobb 127 a nulla egyértelműen ábrázolható Feladat: számoljuk ki a 43 10 kettes komplemensét. Megoldás: 43 10 = 00101011 2 00101011 (pozitív szám kettes komplemense önmaga, ha <= 127) Feladat: számoljuk ki a -123 10 kettes komplemensét. Megoldás: a gyakorlaton 123 10 = 01111011 01111011 2 (pozitív szám kettes komplemense önmaga, ha <= 127) -123 10 = 10000101 (ez már kettes komplemens) Többletes számábrázolás: a szám és a többlet összegét ábrázoljuk előjel nélkül, m bites szám esetén a többlet 2 m-1 vagy 2 m-1-1 pl.: 35 10 = 00100011 többletes érték: 10100011 2 35 + 128-35 10 = 10100011 többletes érték: 01011101 2 128-35 = 93 a legkisebb szám -128, a legnagyobb 127, a nulla egyértelműen meghatározható a 2 m-1 többletes ábrázolás azonos a kettes komplemenssel fordított előjellel. lebegőpontos számok kitevő-részénél használják

BCD (Binary Coded Decimal) ábrázolás: minden decimális számjegyet négy biten ábrázolunk. a negatív számokat 9-es vagy 10-es komplemens kóddal ábrázoljuk. Megjegyzés: A 9-es és 10-es komplemens ahhoz kell, hogy tudjunk negatív számokat ábrázolni. A 10-es komplemens úgy állítható elő, hogy balról az első BCD szám (4 bit) értéke dönt abban, hogy mi lesz az előjel. Ha ennek értéke 0,... 4, akkor a szám pozitív, ha 5,..., 9 akkor negatív. Ezen kívül, a szám többi részét hozzá kell adnunk, talán könnyebben megérthető az alábbi táblázat alapján. Tehát pl. ha kétjegyű BCD számunk van, akkor 00 a 0-t jelenti, a 49 még a 49-et, de 50 már -50-et, mert kétjegyű számmal 100 különböző értéket tudunk ábrázolni, -50-től 49-ig. A komplemens arra utal, hogy negatív számok esetén -50-hez kell hozzáadni a második számjegy értékét. BCD Decimális érték 00 0 01 1... 49 49 50-50 51-49 (-50 + 1) 52-48 (-50 + 2)... 99-1 (-50 + 49) A 9-es komplemens annyiban különbözik a 10-es komplemenstől, hogy le kell vonni belőle 1-et. Az előadásjegyzetben szereplő 301 10 és -301 10 számok a következő módon ábrázolhatóak BCD kóddal (most binárisan) 301 10 = 0000 0011 0000 0001 BCD (BCD) -301 10 = 1001 0110 1001 1000 BCD (BCD 9-es komplemens) -301 10 = 1001 0110 1001 1001 BCD (BCD 10-es komplemens) Ez azért van így, mert három számjeggyel 1000 különböző érték ábrázolható. 1000-301 = 699, vagyis, a 10-es komplemens értéke így jön ki. A 9-es komplemens meg eggyel kevesebb. A BCD számoknál megkülönböztetünk pakolt és pakolatlan számokat. Mivel minden decimális számjegy ábrázolásához elegendő 4 bit (0000,..., 1001), így egy bájton ábrázolhatunk két BCD számjegyet. Ha egy bájton két BCD számjegyet ábrázolunk, akkor ezt pakolt BCD számábrázolásnak nevezzük. Ha minden BCD számjegyet egy bájton ábrázolunk (a felső 4 bit csupa 0), akkor ezt az ábrázolási módot pakolatlan BCD számábrázolásnak nevezzük. Feladat: ábrázoljuk pakolt BCD kóddal a 57 10-et. Megoldás: 0101 0111 BCD Feladat: ábrázoljuk pakolt BCD kóddal a -34 10-et. Használjunk 9-es komplemenst. Megoldás: -34 2 = -50 + 16 = 66 0110 0110 BCD (BCD)

Lebegőpontos számok: Általában normalizált alakban ábrázoljuk. A nulla általában csupa 0-ból áll, meghatározható a legkisebb és legnagyobb ábrázolható szám, valamint a legkisebb és legnagyobb hiba. Az IEEE 754 standard szerint single: 32 bit: előjel (1 bit), kitevőrész (8 bit 127-többletes), a törtrész abszolút értéke (23 bit) double: 64 bit: előjel (1 bit), kitevőrész (11 bit 1023-többletes), a törtrész abszolút értéke (52 bit) Normalizált számok: kitevőrész = kitevő + 127 (-126,..., 127). Közvetlenül a törtrész elé kell képzelni egy 1-est (implicit bit) és a bináris pontot. pl.: 1 = 001111111000...0000 2 előjel kitevőrész 1. törtrész 0.5 = 001111110000...0000 2 előjel kitevőrész 1. törtrész Normalizálatlan számok: ha a kitevőrész = 0, ilyenkor a kitevő = -126 nem 127 a bináris pontot implicit 0 előzi meg, ami nincs ábrázolva pl.: 2-127 = 000000000100...0000 2-2 -149 = 100000000000...0001 2 Ha a kitevőrész = 255, akkor vagy túl nagy számokról, vagy NaN-ról beszélünk. Bájtsorrend: nagy endián a legmagasabb helyértékű bájt a szóban a legalacsonyabb címen kis endián a legmagasabb helyértékű bájt a szóban a legmagasabb címen Hamming kód, hibajavító kód: Két kódszó Hamming-távolsága az eltérő bitek száma. A biteket 1.-től számozzuk. A kódszóba paritás biteket helyezünk el, amelyek azt mutatják, hogy az általuk ellenőrzött pozíciókon páros vagy páratlan számú 1-es van. A paritásbiteket a 2-hatvány pozíciókra helyezzük el. A k-adik bitet azok az k 1, k 2,..., k j paritásbitek ellenőrzik, amelyek összege k, vagyis k 1 + k 2 +... + k j = k. Pl.: a 7. bitet az 1. a 2. és 4. bit ellenőrzi. Ha egy bit elromlik, akkor a paritásbitek alapján ki lehet számolni, hogy melyik bit romlott el. Megjegyzés: A paritásbitek által ellenőrzött pozíciók megkaphatók, ha felírjuk a pozíciók bináris alakját.

1. bit: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31,... 2. bit: 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30,... 4. bit: 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31,... 8. bit: 8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31,... 16. bit: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,...... Példa: A paritás biteket úgy állítjuk be, hogy az ellenőrzött pozíciókon az 1-esek száma páros legyen eredeti adat: 01100110 eredeti adat paritás bitekkel: 01001100011 pozíciók 12345678901 elrontott adat paritás bitekkel (a 10. bit romlott el): 01001100001 A paritásbitekkel ellenőrizhetjük, hogy melyik pozíción romlott el a bit értéke. Az 1. pozíción lévő paritásbit jó, tehát a 1., 3., 5., 7., 9., 11. pozíciókon lévő bitek jók A 2. pozíción lévő paritásbit nem jó, tehát a 2., 3., 6., 7., 10., 11. pozíción lévő bitek egyike rossz A 4. pozíción lévő paritásbit jó, tehát a 4., 5., 6., 7. pozíción lévő bitek értékei jók lehetnek. A 8. pozíción lévő paritásbit nem jó, tehát a 8., 9., 10., 11. pozíciókon lévő bitek egyike rossz. Tehát összesítve az 2., 3., 6., 7., 8., 9., 10., 11. valamelyike rossz. Azt láttuk, hogy a 3., 6., 7., 9., 11. pozíciókon jó bitek állnak. Marad a 8-as és a 10-es pozíció. A 8-as bit értéke még nem ad információt, viszont a 2-es bit értéke rossz, és e kettő közül csak a 10. bitpozíciót ellenőrzi a 2. bit, vagyis ez romlott el. Feladat: A 011010110 2 adatot lássuk el paritásbitekkel. Megoldás: a gyakorlaton 1001110110110 1234567890123 Feladat: Melyik bitje sérült a 1001110100110 2 szónak? Megoldás: a gyakorlaton 1001110100110 1234567890123 A 1. bit értéke rossz: a 1., 3., 5., 7., 9., 11., 13. bit valamelyike rossz A 2. bit értéke jó, tehát a 2., 3., 6., 7., 10., 11. bit értéke jó A 4. bit éréke rossz, tehát a 4., 5., 6., 7., 12., 13. bit jó A 8. bit értéke rossz, tehát a 8., 9., 10., 11., 12., 13. bit valamelyike rossz Tehát az 1., 9., valamelyike rossz. Ha a 9. bit rossz, akkor a 8.-nak is rossznak kell lennie.