38
INFORMATIKA ALAPJAI - I

INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

INFORMATIKA ALAPJAI - I

Page 2: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

2

1 BEVEZETŐ ................................................................................................................................................. 3

2 A HARDVER FELÉPÍTÉSE ..................................................................................................................... 4

2.1 AZ INTEL 8086 PROCESSZOR FELÉPÍTÉSE:.................................................................................................. 4 2.2 BLOKKVÁZLAT. ......................................................................................................................................... 4

3 A SZÁMÍTÓGÉP ÉS AZ INFORMATIKA ............................................................................................. 5

3.1 INFORMATIKAI ALAPFOGALMAK ............................................................................................................... 5 3.1.1 Informatikai fogalmak értelmezése ................................................................................................. 5 3.1.2 A közlemény forrása, az adó: .......................................................................................................... 5 3.1.3 A közlemény szállítása a csatorna: ................................................................................................. 6 3.1.4 A közlemény vétele a vevő: .............................................................................................................. 6 3.1.5 A közlemény áramlása: ................................................................................................................... 6

3.2 AZ INFORMÁCIÓ: ....................................................................................................................................... 6 3.3 AZ INFORMATIKA: ..................................................................................................................................... 7 3.4 ADAT: ........................................................................................................................................................ 7

3.4.1 A karakterek csoportosítása: ........................................................................................................... 8 3.4.2 Adatfeldolgozás ............................................................................................................................... 8

3.5 KÓDOLÁS: ................................................................................................................................................. 8 3.6 ALGORITMUS ............................................................................................................................................. 9

4 A NEUMANN TÍPUSÚ SZÁMÍTÓGÉP ................................................................................................... 9

4.1 JELLEMZŐI ................................................................................................................................................. 9 4.1.1 Bináris feldolgozás ........................................................................................................................ 10 4.1.2 Számrendszerek ............................................................................................................................. 10 4.1.3 Számrendszerek közötti átalakítás ................................................................................................. 11 4.1.4 Számábrázolás............................................................................................................................... 14

4.1.4.1 Bináris számábrázolás .............................................................................................................................. 15 4.1.4.2 Decimális számok ábrázolása BCD .......................................................................................................... 20 4.1.4.3 Pakolt BCD alak ....................................................................................................................................... 21 4.1.4.4 Zónás BCD alak........................................................................................................................................ 22

4.1.5 Műveletek számrendszerekben ...................................................................................................... 23 4.1.5.1 Összeadás ................................................................................................................................................. 23 4.1.5.2 Kivonás ..................................................................................................................................................... 24 4.1.5.3 Szorzás ...................................................................................................................................................... 29 4.1.5.4 Osztás ....................................................................................................................................................... 31 4.1.5.5 Műveletek összeadása ............................................................................................................................... 32

4.1.6 Művelet számábrázolt értékekkel. .................................................................................................. 32 4.1.6.1 Műveletek fixpontos ábrázolásban ........................................................................................................... 33 4.1.6.2 Műveletek lebegőpontos ábrázolásban ..................................................................................................... 36

Page 3: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

3

1 Bevezető A számítógép felépítésén a processzort és az őt kiszolgáló áramköröket (hardver), valamint az

áramköri vezérléseket biztosító programok (szoftver) összességét értjük.

Egy számítógép hardver és szoftver együttes felépítését a számítógép architektúrájának

nevezzük. Az architektúra nem külön hardver és szoftver lehetőséget jelent, hanem

kölcsönösen a szoftver által, a hardveren kialakítható adattípusok, az azokon elvégezhető

műveletek, majd az előzőek által létrehozható szolgáltatások összességét értjük. Az

architektúra tehát egy virtuálisan felépített hardver, melyet szoftverek összességével tudunk

működtetni és ennek eredményeként szolgáltatásokat produkálni. A virtuális hardver egy

olyan számítógép hardverrésze, melyet a programozó szoftvere optimális kihasználtságra

kényszerít. Természetesen ennek biztosítása igen nehéz, mivel a hardverfejlesztést a

programozók, a programfejlesztést az alkatrész gyártók követelik meg. Talán soha nem volt

olyan helyzet, hogy egymás termékét ideálisnak tekintették volna. A processzorgyártók által

ajánlott chipkészlet működtetésére alkalmas szoftvert különböző programozói nyelven

íródhat, melynek a hardverre kifejtett hatása közvetlen, vagy közvetett esetleg többszörösen

közvetett. Ezek a programok (szoftverek) a hardvertől való távolságuk miatt,

létrehozásaikban, utasításaikban, műveleteikben és adatszerkezeteikben eltérnek egymástól. A

különböző szinteket vezérlő szoftvereket a számítógép fejlődése szerint generációkba

sorolták, melyet 1-5-ig adtak meg.

Minden processzor és környezete a digitális technikában alkalmazott logikai szintekhez

rendelt, a chipkészlet által igényelt, egy bizonyos értékű villamos feszültséget vagy áramot

tud értelmezni. A villamos feszültség és áram értékének beállítása az alkatrész tervezők

feladata, mely nagymértékben függ az alkalmazott félvezető alapanyagtól, a

szennyezőanyagtól és a szennyezés mértékétől. Elfogadjuk a pozitív logika szabályait, ami az

igaz értékhez rendel 1-et, egy a hardver által érzékelhető emeltebb villamos mennyiségi

értéket, és a hamis értékhez 0-át, a hardver által nulla körüli villamos mennyiséget. A

processzor és chipkészlete csak ezeket az értékeket ismeri fel egyenként, vagy egyszerre

csoportosan. Az értékeket adatnak nevezzük, ahol az időben egy vezetéken, egymást követő

értékeket soros adatátvitelnek, míg több vezetéken egy időpillanatban értelmezett értékeket

párhuzamos adatátvitelnek nevezzük.

A számítógép programozása egyrészt a hardverelemek vezérlését-, másrészt különböző, a

hardverelemek vezérléséből adódó szolgáltatások felhasználását jelenti. Annak érdekében,

hogy a feladat megoldása optimális legyen, a megfelelő programozási nyelvet kell választani.

A hardver programozását az 1 generációs programozási nyelvek valósítják meg. Ezek a

programozási nyelvek olyan tulajdonságokkal rendelkeznek, ami a hardver közeli

architektúrának tökéletesen megfelelnek. Az első generációs nyelvekhez tartozik az assembly

programozási nyelv, elemi szimbólumokkal felépített utasításaival közvetlen elérést biztosít

a hardver felé.

Page 4: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

4

2 A hardver felépítése Egy számítógép hardver felépítését a processzor határozza meg. Az assembly programozás

bemutatásához kiválasztott processzor az Intel által elsőként gyártott Intel 8086, amit a

továbbiakban a gyártók a kompatibilis alkalmazásával minden további processzorban

meghagytak.

2.1 Az Intel 8086 processzor felépítése:

2.2 Blokkvázlat.

Az Intel 8086 processzor megalkotásakor kialakult a gépi kódú programozás az úgynevezett

assembly nyelv. A nyelv megőrizte fontosságát, mert minden korszerű számítógépben

megtalálható. Szimbolikus nyelv, forrásnyelve lényegében szimbolikus formája a gépi

nyelvnek, ezért fordítóját assemblernek nevezzük.

A tervezők az áramkört úgy alkották meg, hogy architektúrája alkalmas az assembly

programok készítésére, de alkalmas a magasabb szintű programozási nyelvek fogadására.

Közvetlen címzésű 1Mbájt memória rendelhető hozzá, 14 darab szavas, egyenként 16 bites

regisztert tartalmaz, azonos fizikai felépítéssel, de más-más funkció hozzárendelésével, 24

címzési módot ismer fel. A műveleteket bit, bájt, szó és blokk méretben, 8 előjeles és 16

előjel nélküli aritmetikai, bináris és decimális műveletet tud elvégezni, beleértve a szorzás és

az osztási műveleteket.

Fizikai kialakítása n csatornás elzáródásos, szilikon kapu technológiájú (HMOS-III), 40

lábbal csatlakozó áramkör. Az áramkör minimum vagy maximum konfiguráció kialakításban

0GTRO /

EXECUTION UNIT

REGISTER FILE

DATA

POINTER

AND INDEX

REGISTER

(8 WORDS))

16 BIT ALU

FLAGS

SEGMENT

REGISTER

AND

INSTRUCTION

POINTER

(5 WORDS)

BUS INTERFACE

UNIT RELOCATION REGISTER FILE

BUS

INTARFACE UNIT

7SBHE /

316

619

SA

SA

/

/ 4

015 ADAD ... 16

WRRDNTA ,, 3

ALEDENRDT ,,/ 3

6 BYTE

INSTRUCTION QUEUE

CONTROL & TIMING

TEST

INT

NMI

2

HOLD

HLDA

CLK RESET READY MXMN /

CCV

GND

3

3

LOCK

10 QSQS ,

012 SSS ,,

2

2. ábra 8086 CPU blokkdiagram

MAX MOD

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

25

24

23

22

21

GND

AD 14

AD 13

AD 12

AD 11

AD 10

AD 9

AD 8

AD 7

AD 6

AD 5

AD 4

AD 3

AD 2

AD 1

AD 0

NMI

INTR

CLK

GND

VCC

AD15

A 16/S3

A 17/S4

A18/S5

A 19/S6

7SBHE/

MXMN /

RD

0GTRQ/

1GTRQ/

LOCK

2S

1S

0S

0QS

1QS

TEST

REDY

RESET

MIN MOD

HOLD

HLDA

WR

IOM /

RDT /

DEN

ALE

INTA

1. ábra 8086 CPU lábbekötése

Page 5: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

5

működik, a két üzemmódban az egyes lábak funkciója eltér, ezeket a bekötési rajz

tartalmazza. Az átváltásról a 33 láb MXMN / lábon lévő jel gondoskodik. A lábfunkciókat

legeredményesebben táblázatban lehet összefoglalni (3 melléklet). Az 1. ábra 8086 CPU

blokkdiagram jobban elemezhető az 1 melléklet rajzon, az egyes blokkok funkciójáról

szöveges információ található. A 2. ábra 8086 CPU lábbekötését a 2 melléklet tartalmazza

nagyított, olvashatóbb formában.

3 A számítógép és az informatika A processzor és az azt kiszolgál integráltáramkörök megjelenésével megtörtént a számítógép

hardver kialakítása. A számológép megjelenésével az egyszerűbb, majd az összetettebb

matematikai műveletek gyors megoldására kaptunk megoldásokat. Már akkor felmerült a

kérdés a nem matematikai formátumok tárolására és megőrzésére. Egy új, eddig nem

alkalmazott értelmezhető jelrendszerre volt szükség. Az új nem szokványos jelrendszerhez új

fogalmak kapcsolódtak, aminek kialakításával megindulhatott a számítástechnika fejlődése. A

formátumtól független, de egyes embercsoportnak, de személyeknek is igen fontos új

ismeretek átadásának lehetősége és az előzőek felismerése hatalmas fejlesztői és gyártói

versenyt indított el a világban.

3.1 Informatikai alapfogalmak

Kommunikációban keletkezett információ, a csoportban élők számára elengedhetetlenül

szükséges a csoport megmaradásához. Feltételezhető, hogy az emberi beszéd kialakulása előtt

már létezett valamilyen kommunikáció.

A XX. században az elektronika fejlődése, a híradástechnika, illetve a hiradásipar

megjelenése felgyorsította, a számítástechnika kialakítását, ami új fogalmakat hozott a

hírközléselméleti fogalmak mellé. Megjelentek az informatikában használt fogalmak.

3.1.1 Informatikai fogalmak értelmezése

A közlemény, csoport számára készült valemely érzékszervvel felismerhető közlés, aminek

értelmezéséhez peciális tudást feltételez. A közlemény megjelenésétől a célbaéréséig egy utat

jár be.

cél

A közlemény útja

Adó Vevő Csatorna

forrás Szállítás

3. ábra

A közlemény útja a forrás, szállítás és a cél. Hírközléselméleti fogalmaknak a 3. ábra szerinti

adó, csatorna és a vevő szavakat feleltethetünk meg.

3.1.2 A közlemény forrása, az adó:

Az adó feladata, a közleményből értelmezhető jelsorozat előállítása és annak szállításra

alkalmassá tétele.

Page 6: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

6

Adó sokaságot lehet felsorolni. Lehet az adó egy beszélő ember, plakát, internet, rádió, tv stb,

minden olyan ember vagy tárgy, aki vagy ami, egy harmadik személynek közölni szeretne

valamit.

3.1.3 A közlemény szállítása a csatorna:

Feladata a szállítási formák kialakítása, a közlemény adott csoporthoz és egyénhez

deformációk nélkül, vagy még engedhető deformációkkal történő eljuttatása (zaj). A

deformáció (zaj) az alkalmazott csatorna, mint eszköz, által létrehozott deformáció. (pl. újság

betűhibái, rádió-TV bemondó rossz artikulációja).

3.1.4 A közlemény vétele a vevő:

A vevő feladata a közlemény dekódolása, értelmezése. A vevő a közlemény dekódolása

esetén lefordítja az adó által a csatornán keresztül adott jelsorozatot, majd saját korlátainak

megfelelően értelmezi és elhelyezi a saját közleménytárában.

3.1.5 A közlemény áramlása:

A közlemény iránya a csatornában különböző lehet és ezt nevezzük üzemmódnak. Ezek a

szimplex, félduplex, duplex üzemmódok.

Szimplex az üzemmód, ha a kijelölt csatornában a forrás és a cél nem változik, a közlés

áramlása mindig a forrásból a cél felé írányul. (3. ábra) Ilyen csatornaműködést tapasztalunk a

műsorszóró berendezésekkor, vagy egy könyv olvasása esetén.

Félduplex üzemmódról akkor beszélünk, ha a közlés iránya úgy változik, hogy azt a forrás

engedélyezi. Ekkor a forrás átadja a vevőnek a forrás tulajdonságait és egyidőben vevő lesz.

Félduplex csatorna

Adó Vevő Üzenet iránya

Üzenet íránya

ti időpont

Vevő Adó ti+1 időpont

4. ábra

Híradástechnikai példára hívatkoza a CB rádió működése, de ilyen egy leválváltás is, akár

postai akár e-mail.

Duplex üzemmódban nincs kijelölt adó vagy vevő, egyszerre lehet valaki adó is és vevő is, az

intelligencia határozza meg, hogy ki az adó és ki a vevő. (Hagyom a másikat beszélni!)

Duplex csatorna

Adó

Vevő

Adó

Vevő

Üzenet iránya ti időpont

5. ábra

3.2 Az információ:

Most már ismerjük a közlemény lényeges tulajdonságait, ezekből meg tudjuk határozni az

információt.

Page 7: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

7

Def.:

Azok a különböző csatornán érkező közlemények, amelyek egy adott helyzetben a

vevő által a saját korlátai szerint értelmezettek, azokat új közleményként fogadja

el, majd saját bizonytalanságának csökkentésére használja föl, információnak

nevezzük.

A definíció szerint az információnak kettős tulajdonsága van, egyrészt új a közlemény az

egyén vagy csoport számára, másrészt ismételt felhasználása a csoport vagy az egyén

bizonytalanságát csökkenti.

3.3 Az informatika:

Az információ kényszerűsége, szükségessége újszerű feldolgozása egy új tudományágat

hozott létre.

Def.:

A kutatást, ami az információk keletkezésének lehetőségével, továbbításának

eszközeivel, feldolgozásának és hasznosításának módszertanával foglalkozó

tudományág, az informatika tudományágának nevezzük.

Mai értelemben az informatika minden olyan tevékenység, ami információval kapcsolatos. Az

igaz, hogy használatával felületes megközelítést és értelmezést eredményezhet, ha nem kellő

átgondolással alkalmazzuk a fogalmat.

A „valós világban” az ember cselekedeteit és reagálását az őt ért környezeti hatásokra, azok

saját énje szerinti értelmezését, a tudatos, számára előnyös döntés meghozatalának

elősegítésére az információ ad nagymérvű segítséget. Az előzőekből meghatározható az

informatika első az egyén számára fontos fogalma, ami több mint a közlemény, ez az

információ.

Az információ az egyénnek döntéseinek meghozatalához ad támogatást és segítséget. Az

információ egyénhez vagy csoporthoz továbbítása tartalomfüggetlennek kell, hogy legyen. Ez

azért fontos, mert egy továbbító eszköz így többször felhasználható információ átvitelére. Az

információt tartalmi jelentésétől megfosztva kialakítunk egy új jelsorozatot, az adatot.

3.4 Adat:

Def.:

Az információ - tartalomtól független- megjelenési formáját adatnak nevezzük.

Az adat egy jelsorozat, melynek felépítése egy rendszeren belül azonos. A számítógépben

különböző villamos jelekértékek, a gépgyártásban a gépek vezérléséhez szükséges jelek, de az

ember által érzékelhető jeleket is adatnak nevezzük. Az ember a környezttől kapott adatokat

érzékszerveivel teszi felfoghatóvá. Az ember kapcsolata a külvilággal a következő módon

valósul meg.

látás-> álló és mozgókép,

hallás-> beszéd, zene és zörej,

tapintás-> nyomás és hőérzet,

szaglás-> kellemes és kellemetlen illatok.

Ha az adatot leszűkítjük a számítástechnika területére, akkor a látás és a hallás által

szolgáltatott érzékszervi adatokkal képzett információ, jellemző e területre.

A számítástechnikában látásra, tapintásra épülő leggyakrabban megjelenő adat az írott vagy

nyomtatott szöveg.

Page 8: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

8

A szöveg legkisebb eleme a karakter.

3.4.1 A karakterek csoportosítása:

A betűk

Nagybetűk (A,B,C…Z)

Kisbetűk (a,b,c…z)

Számjegyek (0,1,2…9)

Speciális jelek

Minden olyan karakter, ami nem betű és számjegy, ilyen lehet pl az írásjelek.(

!,?,&,#....+…)

A szöveg felépítése az alkalmazott karakterek szerint csoportosítva lehetnek:

Alfabetikus, csak betűket tartalmazó adat,

Numerikus, csak számokat tartalmazó adat,

Alfanumerikus, számokat és betűket tartalmazó adat.

3.4.2 Adatfeldolgozás

Def.:

Az adatokon végzett átalakításokat, műveleteket, illetve ezek ismételt alkalmazását

adatfeldolgozásnak nevezzük.

Számítástechnikában lépésekre lebontható az ember és a gép kapcsolata, amit gépi

adatfeldolgozásnak nevezünk.

A gépi adatfeldolgozás lépései:

Adatelőkészítés, az adatokat a számítógép által fogadható formára hozzuk.

Pl. perifériáról betölthető.

Adatbevitel, az előkészített adatokat a számítógépbe betöltjük.

Adatfeldolgozás, kiválasztott adatot előre meghatározott lépéssorozattal

társítjuk.

Adatkihozatal, a társítás eredményét értelmezhető formátummá alakítjuk.

A gépi adatfeldolgozás folyamán az adatokat egyik jelrendszerből át kell alakítani a másik

jelrendszerbe. Az ilyen áttéréseket kódolásnak nevezzük.

3.5 Kódolás:

Egy jelkészlet felhasználását szabályrendszer rögzíti. A jelkészletet csak a hozzárendelt

szabályrendszerrel együtt alkalmazhatjuk. Ha ismert egy jelkészlet és annak szabályrendszere,

de új eszközön nem alkalmazható akkor egy szabály szerint új jelkészletet és szabályrendszert

kell létrehozni.

Def.:

Azt a szabályt, ami egy jelkészletből egy másik jelkészletbe átmenetet biztosít,

kulcsnak nevezzük.

A kulcs biztosítja a reprodukálhatóságot (ismételhetőséget). A kulcs alkalmazását kódolásnak

nevezzük.

Def.:

Azt a tevékenységet mely egy jelkészlet és szabályrendszer együttes használatának

kulcs szerinti átalakításából eredő új jelkészletet és szabályrendszert állít elő,

kódolásnak nevezzük.

Számtalan példát lehet mondani a kódolásra, pl.: Órai vázlatkészítés. Beszéd kódolása írott

szöveggé. A kódolás kulcsa az írás, új jelkészlet a karakterek, szabályrendszere, ha magyarul

írunk, a magyar helyesírás szabályai.

Page 9: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

9

3.6 Algoritmus

Egy matematikai feladat megoldására megoldási tervet készíthetünk. A feladat, feltételezzük,

úgy van megfogalmazva, hogy meghatározható a megoldás első lépése. A következőkben

értékmeghatározások és átalakítási szabályok alkalmazásának sorozatával utolsó lépésként a

kért eredmény megadható.

Lehet látni, hogy a megoldási terv véges elemi lépés, ami az első lépéstől a feladat

befejezéséig tart.

Def.:

Egy feladat megoldására kialakított véges számú lépéssorozatot algoritmusnak

nevezünk.

Visszatérve a matematikai feladatmegoldásra, kijelenthetjük, hogy minden matemetikai

feladatmegoldásnak van egy algoritmusa. Tovább gondolkodva könnyen rájöhetünk arra,

hogy azonos típusú feladat megoldási algoritmusa azonos. Ha az előzőek igazak, akkor miért

nehéz a matematika? A válasz egyszerűnek tűnik, nem ismerjük fel a megoldás algoritmusát!

A megoldás algoritmusát akkor ismerjük fel, ha már egyszer vagy többször bejártuk, tehát a

feladatmegoldást gyakoroltuk. Nehezíti továbbá, az un. reáltantárgyak feladatmegoldását az

elemi lépések felírásához szükséges háttértudás hiánya, de ezt meg lehet tanulni.

Végkövetkeztetés, rossz kifogás az, hogy azért nem tudom a matematikát, fizikát és a kémiát,

mert nem értem. Tanulni kell, mint bármely más tantárgyat, csak kicsit másképp.

4 A Neumann típusú számítógép Nevét Neuman János (1903-1957) magyar származású Egyesült Államokban élt vegyész,

fizikus, matematikus és számítástechnikai professzorról kapta, az általa kidolgozott elven

kialakított számítógépekre.

4.1 Jellemzői

A Neumann típusú számítógépek legfontosabb jellemzői.

- a gép tartalmaz egy közös tárolót, ami egyaránt tárolja a végrehajtandó

program utasításait, valamint az utasítások által feldolgozandó adatokat is,

mindkettő bináris kódolású.

- tartalmaz egy vezérlőegységet, ami a tárolt program utasításait egyenként

sorra véve oldja meg a kívánt feladatot, automatikus végrehajtás miatt egy

beépített utasítás számláló tárolja a következő utasítás memória címét.

- A program utasításai által megkívánt aritmetikai és logikai műveletek

végzésére egy önálló egység az aritmetikai és logikai műveletvégző egység

szolgál.

- Az adatok bevitelére és kinyerésére önálló bemeneti/kimeneti egység

szolgál.

Számítógépnek nem írhatunk elő tetszőleges nyelvezetben és formátumban megoldást

tartalmazó lépéseket, hanem csak kötött a gép számára alakilag és formailag megfelelő, tehát

általa értelmezhető lépéseket. Az így leírt elemi lépéseket utasításnak nevezzük.

A Neumann-elvből két igen fontos tulajdonságot ragadunk ki a bináris feldolgozás és a

műveletek, természetesen el nem hanyagolva a többit.

Page 10: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

10

4.1.1 Bináris feldolgozás

A korai időkben, - 1944,1952 – a legnagyobb felfedezés a bináris adatfeldolgozás volt. A

digitális technikában ismert volt a kétállapotú jel. Elterjedését akadályozta a robosztus kivitel,

pl.: relék a vezérléstechnikában, jelfogók a távközlés technikában. Neuman János első, általa

kitalált elv szerint működő számítógépe elektroncsöves volt, hatalmas energiát fogyasztott, de

az elvet igazolni lehetett. Az eletroncsöveknek –működésének ismertetése nélkül- van egy

olyan üzemmódja (C osztályú üzemmód), amiben a katód-anód közötti ellenállás kicsi, tehát a

rajtuk mérhető feszültség alacsony. Létezik a lezárt vezérlésű elektroncső, ahol a katód-anód

közötti feszültség nagy, a feszültség a maximum értékű. Ezek után egyértelmű volt –

Neumann János által vezetett csoportnak-, hogy minden adatot, mit közölni kell a géppel azt

az előbb leírt két állapottal kell megoldani. A gépnek egyszerű feladatot adtak, ma is ugyan

ilyen egyszerű. Tároljon egy vagy több adatot, lehessen a tárolóból adatot venni és tenni

különböző egységekbe, tudjon összeadni, és ismerje a logikai műveleteket.

Visszatérve az adatközlésre, egyértelmű volt, hogy a kétállapotú (bináris) jelek leírásának

alapja a kettes számrendszer lesz. Kettes számrendszer jelkészlete 0 és 1, de

szabályrendszerébe be kellett építeni a matematikai műveletek mellé a szövegíráshoz

szükséges betűket, írásjeleket.

4.1.2 Számrendszerek

Egy számrendszer tulajdonságán értjük a felépítését és az elvégezhető műveleteket. A

számrendszer felépítését jellemzi a helyérték és a számjegyek. Továbbiakban a kettes, 2

számrendszer helyértékei

KETTES HELYÉRTÉK ELRENDEZÉS

26 2

5 2

4 2

3 2

2 2

1 2

0 2

-1 2

-2 2

-3 2

-4 2

-5 2

-6

EGÉSZ TÖRT

6. ábra

A 6.ábrán egy 2-es (bináris) számrendszer számelrendezés (alaki érték) részletét látjuk, a

pozitív egész és a tört helyérték feltüntetésével.

A 10-es számrendszer számegyenese a valós számok rendezett halmazát tartalmazza. A valós

számokon az egész és tört értéket értjük.

TIZES SZÁMRENDSZER SZÁMEGYENESE

-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12

NEGATÍV POZITÍV

7. ábra

A 7.ábrán a 10-es számrendszer nulla környezetét rajzoltuk meg az egész értékek

feltüntetésével. Oktatási rendszerünk a 10-es (decimális) számrendszert használja. A 10-es

számrendszerben a helyértékek képzése 10 hatványai alapján, az 8. ábra szerint épül fel.

Page 11: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

11

TIZES HELYÉRTÉK ELRENDEZÉS

106 10

5 10

4 10

3 10

2 10

1 10

0 10

-1 10

-2 10

-3 10

-4 10

-5 10

-6

EGÉSZ TÖRT

8. ábra

A 10 számrendszer számjegyei 0..9-ig tart.

Hasonló módon adhatjuk meg a 8-as számrendszert, amiben a helyértékképzés nyolc

hatványai szerint, számjegyei pedig 0-7-ig tart.

Végül a 16-os számrendszer helyértékképzése, a 16 hatványai, számjegyei 0..9 és A…F-ig

tart, ahol A=10, B=11, C=12, D=13, E=14, D=14, F=15.

Minden számrendszerben az értékképzés úgy történik, hogy a helyérték helyére olyan

számjegyet írunk, ami jellemzi az adott helyérték mennyiséget.

Informatikában jellemzően négy számrendszert használunk, ezek 2 vagy bináris, 8 vagy

oktális, 10 vagy decimális és a 16 vagy hexadecimális számok. Az 58 tizes számrendszeri

szám 2,8,16 számrendszerbeli alakját felírjuk, alsó indexben, zárójelében jelölve a

számrendszert.

111010(2), 72(8), 58(10), 3A(16)

4.1.3 Számrendszerek közötti átalakítás

A számrendszerek közötti átlakításnak különböző megoldásai vannak. Felrajzolva az

átalakítási sémát, a módszer nem tűnik bonyolultnak. A 9. ábra a számrendszerek egymásközti

átalakítási szabályrendszerét csoportosítja.

10 2

8

16

2

8

16

8 2 16

9. ábra

Az ábrából megállapíthatunk egy általános átalakítási szabályt.

Def:

Minden számrendszerből 10-es számrendszerbe úgy alakítunk át, hogy az

adott számrendszerben lévő szám számjegyeinek és a hozzátartozó

helyértékének szorzatát összeadjuk.

pl

Átalakítás be 102 ; )10()2( 580111010

)10(

012345 5802081632202120212121

Átalakítás be 108 ; )10()8( 5872

)10(

01 582568287

Átalakítás be 1016 ; 3A(16)=58(10)

)10(

01 581048163 A

Látható a 10-es számrendszerbe történő átalakítás sémája minden számrendszerben ugyan az.

Általános átalakítási sémát takar a 10-es számrendszerből való átalakítás is.

Page 12: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

12

Def:

Tizes számrendszerből bármely számrendszerbe, egész értéket, úgy alakítunk

át, hogy a 10-es számrendszerbeli számot elosztjuk a számrendszer alapjával,

az osztás hányadosa a tovább osztandó szám, a maradék az új számrendszer

számjegye, az osztást addig végezzük, míg a hányados nulla lesz.

Átalakítás: 210

58(10) : 2 = 111010(2)

29 0

14 1

7 0

3 1

1 1

0 1

Leo

lvasá

si

irán

y

1. táblázat

Átalakítás: 810

58(10) : 8 = 72(8)

7 2

0 7

Leolvasási

irány

2. táblázat

Átalakítás: 1610

58(10) : 16 = 3A(16)

3 10=A

0 3

Leolvasási

irány

3. táblázat

A táblázat gyors értelmezéséhez néhány kiegészítő adat. Az 58-as 10-es számrendszerbeli

számot alakítottuk át 2-s, 8-as és 16-os számrendszerekbe. Az 58(10) alatti oszlop a hányados

érték. A számrendszer alapja a számrendszer számjegyeinek száma pl 2-es számrendszer

számjegyeinek száma 0,1 tehát kettő. Visszatérve a táblázathoz az osztást a számrendszer

alapjával végezzük, alatta lévő oszlopban a maradékok, a leendő számjegyek. Még egy

információ, a számjegyek leolvasási iránya az utolsó osztás maradékától indulva haladunk az

első felé (a nyíl szerint).

Még mielőtt továbbmennénk, a 10-es számrendszerből 2,8, 16-os számrendszerbe úgy is

átalakíthatunk, hogy előszőr a 10-es számrendszerbeli számot 2-be, majd a legkisebb egész

helyértéktől kezdve 3 bitenkét csoportosítva felírjuk az oktális számjegy megfelelőjét, illetve

16-os számrendszerre úgy térünk át, hogy 4-es bitcsoportokat alakítunk ki és ennek írjuk fel a

16 számrendszerbeli számjegy értékét és elhelyezzük a megfelelő helyértéken.

Bizonyításként nézzük az 58(10) szám átalakítását.

58(10)=111010(2)

Először írjuk fel 0-tól 7-ig oktális számok 2-es megfelelőit. Foglaljuk táblázatba helyérték

helyesen

Page 13: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

13

oktális bináris

80 2

2 2

1 2

0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

4. táblázat

A táblázatból látjuk, hogy egy 8 (oktális)-s számrendszerbeli számot 3 bináris helyértékkel

tudunk megadni. pl 5(8) =101(2). Végezzük el a csoportosítást _111_ 010_, olvassuk le az első

csoportot 111(2)=7(8) a másodi 010(2)=2(8). A felírt sorrend szerint az első csoport a legnagyobb

helyérték és így tovább, haladunk a kettedes vessző felé.

A bináris számjegyek csoportosítását a kettedes vesszőtöl kezdjük, ha van egész értékünk,

akkor haladunk balra, ha van törtértékünk, akkor ugyanezzel a módszerrel jobbra.

A hexadecimális számjegyek:

hexadecimális bináris

160 2

3 2

2 2

1 2

0

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

A 1 0 1 0

B 1 0 1 1

C 1 1 0 0

D 1 1 0 1

E 1 1 1 0

5. táblázat

A hexadecimális számjegyek négy bináris helyértékkel írhatók fel, akkor a bináris számokat a

kettedes vesszőtől kiindulva négyes bitcsoportokat létrehozva felírhatjuk annak hexadecimális

megfelelőjét. Felírva: 111010(2)= 11_1010_=3A(16)

A hexadecimális-bináris táblázatban megtalálható a 2,8,10,16 számrendszer bináris

megfelelője.

Page 14: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

14

Számjegyek bináris

23 2

2 2

1 2

0

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

A 1 0 1 0

B 1 0 1 1

C 1 1 0 0

D 1 1 0 1

E 1 1 1 0

F 1 1 1 1

2

8

10

16 6. táblázat

A 8. ábrán leírt oktális számok átalakítása hexadecimális számokká, az ábra szerint egy

mondatban leírható, mert először átalakítjuk 2-es számrendszerbe, maj 16-os számrendszerbe.

Azonos eljárással alaktítjuk át a hexadecimális számokat oktálissá. Akkor legyen a 72(8)

vegyük sorba a szám számjegyeit: A 7(8)=111(2); a 2(8)=010(2), helyértéknek megfelelően

elrendezve 111010(2). Most már 16-os számrendszerbe kell áttennünk, ami igen egyszerű, már

említett 4-es csoportok után a kapott bináris számjegynek megfelelő hexa értékkel helyérték

helyesen egymás mellé felírjuk a számjegyeket.

4.1.4 Számábrázolás

A számítógépben minden adat számformációban jelenik meg. Megnéztük, hogy a számítógép

vezérlése és adatműveletei bináris jellegűek, ami a kettes számrendszer felhasználását

eredményezi. A számítástechnika a digitálistechnikát követte, így az természetes volt, hogy a

digitálistechnika által használt fogalmak és alkalmazások átkerültek a számítástechnikába.

Ilyen például a 8-as és 16-os számrendszer. A 8-as számrendszer a byte mértékegységet hozta,

ami a 8 bites áramköri alkalmazásokat jelentett. A 16-os számrendszer a 2 byte, vagyis a szó

(word) nagyságát jelenti és a bit információk egyszerűbb felírását eredményezte.

Megyarázatként a 16 bites bináris számnak 16 számjegye van, de ugyanezt a 16 bites számot

hexadecimális számként 4 hexadecimális számjeggyel írhatjuk fel. A számítógépben a

vezérlés és adatfeldolgozás adathalmazokkal történik, ezek a fájlok. A fájlok, vagyis az

állományok logikai rekordokból épülnek fel, ezek elemi adatokból, illetve az elemi adatok

karakterekből. Tudjuk, hogy a 1 karakter 1 byte, akkor adva volt, hogy a számok a

karakterekhez hasonlóan byte-ok vagy ezek többszörösei legyenek.

A számábrázolásban megkülönböztetünk bináris számábrázolást és binárisan kódolt decimális

számok (BCD) ábrozolását.

Page 15: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

15

4.1.4.1 Bináris számábrázolás

A bináris szám ábrázolása, lehet fixpontos ábrázolás, általában 8, 16, vagy 32 biten. Minden

értéket 2-es számrendszerben megadva ábrázoljuk. A bináris fixpontos ábrázolás általános

felépítését a 10. ábra mutatja

E Egész Tört

15 14 0

KETTEDES PONT

10. ábra

A 10.ábrán egy 16 bites fixpontos ábrázolású bináris szám általános felépítését látjuk. Három

részből épül fel, a legnagyobb helyérték tartalmazza az előjelet (E), ami ha pozitív, akkor 0,

ha negatív, akkor 1 értékű. Ezután a szám egész értéke következik, majd a tört értéke. A két

értéket szimbólikusan a kettedes pont válaszja el egymástól. A tört rész nagyságát a

programozó jelöli ki, a müveletek folyamán nagysága azonos. Alkalmazása a digitális

technikában volt, itt külön áramkör gondoskodott az egész és tört értékről. Számítógépeknél a

bináris egészértékű ábrázolást ismerjük.

A bináris egész abszolutértékes ábrázolás. Az ábrázolás fixpontos, nincs tört értéke, minden

számjegy a szám abszulútértékéből képzett, az előjel pozitív szám esetén 0, negatív szám

esetén egy. Ábrázoljuk az 1273(10) és a -1273(10) számot. Egy szám abszolút értéke a pozitív

előjellel vett érték. Először írjuk át 2-es számrendszerbe, ami 10011111001(2). Az ábrázolás

16 biten történt.

+1273 0 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1

15 14 0

-1273 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1

15 14 0

11. ábra

A két szám ábrázolása csak előjelben tér el egymástól, az előjelre vonatkozó

megkülönböztetés miatt. Az ábrázolásban a számbitek elhelyezését a legkisebb helyértéken

kezdjük, ha nem használjuk fel az összes bitet, akkor a fel nem használt biteket nem értékkel

rendelkező 0-at írunk.

Bináris egész kettes komplemens ábrázolás.

A mondat szavai ismertek, talán a komplemens kifejezés nem. A komplemens szó kiegészítést

jelent. A kettes komplemens kettes számrendszerbeni kiegészítést jelent.

A bináris egész ábrázolásban alakult ki, a negatív számok ábrázolására. Az ábrázolást az tette

szükségessé, hogy a 4 elemi matematikai művelet visszavezethető legyen az összeadás

műveletére. Most csak a négy elemi művelettel foglalkozunk, de el lehet gondolkodni a

többin is. Nézzük először 10-es számrendszerben.

Végezzük el a következő műveletet 342-ből vonjunk ki 127-t. akkor,

342

-127

215 7. táblázat

Page 16: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

16

215127342 . Most végezzük el komplemens összeadással. A -127-nek az 1000-es

komplementere +873, akkor

342

+ 873

1215

8. táblázat

A két végeredmény közötti különbség 1000, ami a komplemens műveletre utal.

Bináris számok 2-es komplemens ábrázolása. Az összeadásra visszavezethető kivonás

eredményeként jött létre.

Def.:

Egy szám kettes komplemensét úgy képezzük, hogy vesszük a szám

inverzét és hozzáadunk 1-et.

Mindig a példa a legjobb magyarázat. Nézzük a -5(10) 2-es komplemensét. Tudjuk,

hogy az 5(10) 2-es abszolutértéke 101(2). A deffiníció szerint az inverzét kell venni,

vagyis ahol 1-es számjegy van ott 0-át és fordítva, akkor )2()2( 010101 invabs

adjunk hozzá 1-et. akkor

010

+ 1

011

9. táblázat

Ábrázoljuk 16 biten a +5 és a – 5-t. Az utóbbit 2-es komplemens ábrázolásban.

+5 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

15 14 0

inv+5 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0

+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +

-52kompl 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1

10. táblázat

A 10. táblázat utolsó sora -5-nek kettes komplemens ábrázolása. Ha megfigyeljük a +5 és -5

ábrázolt számot, akkor a 2-es komplemensképzésre egy igen könnyen kezelhető átalakítási

deffiníciót alkothatunk meg.

Def.:

Egy bináris szám kettes komplemensét úgy képezzük, hogy a legkisebb

helyértékű 1-esig, beleértve az 1-et is, a számjegyek megegyeznek az

abszolutértékes szám számjegyeivel, ettől nagyobb helyérték felé haladva

vesszük az inverzét, beleértve az előjelet is.

A bináris szám kettes komplemens ábrázolásban könnyen felismerhető, mert a nagyobb

helyértékeken az előjelet is beleértve 1-es értékek szerepelnek. Ha meg akarjuk kapni a szám

abszolut értékét, akkor ismét kell venni a 2-es komplemens értékét.

Bináris lebegőpontos számábrázolás.

Page 17: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

17

A lebegőpontos szám ábrázolásához a matematikában ismert, normálalakú számot használunk

fel. Minden szám normálalakra hozható, és e tevékenységet normalizálásnak nevezzük.

Normalizálást adott helyértékre alakítási lehetőség, ami jelenti, hogy azon a helyértéken

létezik az értékelhető számjegy. Informatika a nullára vagy egyesre normalizált alakot

alkalmazza. Egy szám normálalakján értjük azt, a valós értékű számot, amit megszorozva a

számrendszer alapjának olyan értékű hatványával, hogy az eredeti számot kapjuk vissza. Pl.: 43

)10( 101341,010342,11342

Az 1342(10) tizes számrendszerbeli számot normalizáltuk, először egyesre, ami jelentette, hogy

van az egyes helyértéken értékhordozó számjegy. Látható ahhoz, hogy az eredeti értéket

megkapjuk az 1,342 számot 1000-el kell megszorozni, vagyis 103 –nal. A 0,1341 a nullára

normalizált érték, ahol az egyes helyértéken nincs értékhordozó számjegy, a tizedesvesszőt

egyel tovább mozgattuk balra, mint az előbb a számot 104-el kell szorozni.

Vizsgáljuk meg a 2-es számrendszerbeli szám normál alakját. A normalizálás hasonlóan megy

a 10-es számrendszerbeli számokhoz. Alaktísuk át 2-es számrendszerbe az 11

)10( 21010011111,0010100111111342 norm. Az átalakításból látható, hogy kitevő

értéke a kettedes vessző balra mozgatásának helyértéki mozgása. Ez most 11 helyérték balra.

A nullára normalizált szám tulajdonságai.

nincs egész értéke, illetve az mindig nulla (0)

csak tört értéke van

a tört érték mindig értéket hordozó számjeggyel kezdődik, és az mindig 1

a tört értékből visszaállítható az eredeti szám

a tört értékkel kezdődő 1 az implicit bit, tároláskor elhagyható.

A normálalakú számok számábrázolását lebegőpontos számábrázolásnak nevezzük. A

normálalakú számokat három mennyiséggel jellemezhetjük, előjel, tört érték, számalap

hatványa. Ezt a három jellemzőt használjuk a lebegőpontos számábrázoláskor.

A lebegőpontos számábrázolás általános felépítése:

E Karakterisztika Mantissza 31 30 24 23 0

implicit bit

12. ábra

A 12.ábrán egy 32 bites lebegőpontos számábrázolás általános felépítését látjuk. A 32 bit

megosztása a következő, a legnagyobb helyértékű (31) biten az E jelű előjel, ami pozitív

előjel esetén 0, negatív előjel esetén 1, A karakterisztika 24…30 biteken, a számalap

hatványértéke, értéke 7 biten az ábrázolástól függ. A mantissza értéke 0…23 bit a szám tört

értékének ábrázolt helyértékei, ami 24 biten valósul meg.

Az eltolt nullapontú számábrázolás

Egy lebegőpontos számábrázolásban a normalizált számot kell ábrázolni. A normalizált szám

beazonosításához 4 tulajdonságát kell ábrázolni, ezek a szám előjele, a tört értéke, a kitevő

értéke, valamint a kitevő előjele. A szám előjelét a 11.ábra szerint a legnagyobb 31 biten

adjuk meg. A tört értéke a mantissza. A kitevő értékét és előjelét a 24 bittől kezdődő és a 30

bitig tartó helyek adják. A 7 biten ábrázolható tartomány legnagyobb értéke, 127 , ami tizes

számrendszerben 127-nek, kettes számrendszerben 1111111 értéknek felel meg. Ez lesz az

ábrázolható maximum kitevő érték. Azonban pozitív kitevők mellett vannak negatív kitevők

is, ezek a +1és -1 közötti számok, miket ábrázolni szintén tudni kell.Ezért létrehozunk egy

Page 18: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

18

virtuális nulla kitevőt ez 7 bites karakterisztika esetén 100 0000(2)=64(10), a középérték. A jobb

megértéshez készítsünk egy szemléltető ábrát.

+ kitevő - kitevő

127 64 0

+63 0 -63

13. ábra

A 13.ábra két főrészből áll, az első rész tartalmazza a megosztást 0-tól 64-ig, majd ettől 127-

ig. A tartományt két egyenlő részre osztottuk a pozitív illetve a negatív kitevők ábrázolása

miatt. Ezért eltoltuk a nulla értéket a 64-re, ami 1000000(2) kettes megfelelője. A

karakterisztika számítása azt jelenti, hogy pozitív kitevő esetén hozzáadjuk, negatív kitevő

esetén pedig levonjuk a virtuális nullapont (1000000) értékből.

Ezek után ábrázoljuk a 1234,752(10) számot 32 bites lebegőpontos számként.

Megoldás:

1. A számot 2-es számrendszerbe alakítjuk át.

2. A szám egészrész átalakításnál osztunk 2-vel és a maradék lesz a számjegy, ezt addig

végezzük, míg az osztandó nullaértékű lesz. A leolvasás autolsó osztástól az első felé

haladva.

Egész rész: Tört rész:

1234 : 2 0 752 *2

617 0 1 504

308 1 1 008

154 0 0 016

77 0 0 032

38 1 0 064

19 0 0 128

9 1 0 256

4 1 0 512

2 0 1 024

1 0 0 048

0 1 0 192

11. táblázat

A törtrész 0,752(10) szám, mit úgy alakítunk át, hogy értékét megszorozzuk a

számrendszer alapjával. Ha a szorzat eredménye nagyobb mint egy, akkor értékkel

rendelkező számjegyet kapunk, ez az 1, ha nincs akkor 0. A bináris szám a szorzat

eredményének egész része. Szorozni csak a tört rész kell!!

3. A kapott bináris eremény: )2(01100000010,01001101001

4. Normalizáljuk nullára: 1120001100000011001101001,0

5. Karakterisztika számítása

Page 19: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

19

eltolt nullapont 64(10) 100 0000

a kitevő 11(10) + 1011

karakterisztika értéke 100 1011

12. táblázat

6. Ábrázoljuk 32 biten

0 100 1011 1001 1010 0101 1000 0001 0000

0 31

13. táblázat

Különböző funkcionális ábrázolások léteznek, ilyen a mostani 13.táblázat is, ez a művelet

előtti ábrázolás. A tárolt változat a már említett implicit bit nélküli ábrázolás, elsősorban

a pontosság növelésben van szerepe. A 13. táblázat mantissza legkisebb helyértékén érték

nélküli számjegyekkel helyettesítettük az el nem végzett szorzás miatt.

Nézzünk egy olyan példát, ahol a kitevő negatív. A negatív kitevőjű normálalakú számok

a tört számok. Legyen 0,00003275(10) tizes számrendszerbeli szám értéke, akkor alakítsuk

át 2-es számrendszerbe. Tudjuk, hogy tizes számrendszerbeli törtet bármely

számrendszerbe a számrendszer alapjával való szorzással oldhatjuk meg. Ha a szorzásnak

eredménye egész értéket ad, akkor az, számjegye az új számrendszernek, egyébként

nullaértékű.

Egész:0 Tört rész:00003275 (10)

0 00003275 *2 folytatás

0 0000655 0 292608

0 000131 0 585216

0 000262 1 170432

0 000524 0 340864

0 001048 0 681728

0 002096 1 363456

0 004192 0 726912

0 008384 1 453824

0 016768 0 907648

0 033536 1 815296

0 067072 1 630592

0 134144 1 261184

0 268288 0 522368

0 536576 1 044736

1 073152 0 089472

0 146304 0 178944

14. táblázat

A bináris szám: 0,00000000000000100010010101110100 (2)

Nullára normalizált alakja: 1420111011000100101,0

Legkisebb mantissza értékre normalizált alakja: 62110100100101010000000010,0

Karakterisztika számítása nullára normalizált esetre:

Page 20: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

20

eltolt nullapont

64(10)

100 0000

a kitevő -14(10) - 1110

karakterisztika 011 0010

15. táblázat

Az ábrázolt érték 32 biten

0 011 0010 1000 1001 0101 1101 0000 0000

31 0

16. táblázat

A lebegőpontos számnak, megegyezően a fixpontoshoz, a számokat ábrázolhatjuk

abszolútértékes számként, itt a mantisszaérték abszolút értéke egyező plusz (+ 5,62(10)) és

mínusz (-5,62), előjel különbség van, a már leírtak szerint. Negatív számok 2-es komplemens

ábrázolása itt is lehetséges, de a következők betartása mellett, a 2-es komplemensben ábrázolt

szám előjele negatív, karakterisztika számítása a megadott számítási mód szerint kell

elvégezni, 2-es komplemenssé csak a mantissza értéket alakítjuk át. Nézzünk egy feladatot.

Az ábrázolt szám a -0,00003275(10. Már átalakítottuk 2.es számrendszerbe, ismerjük a

karakterisztika értékét, akkor, szedjük össze, mit ismerünk:

a szám előjele negatív, tehát 1

karakterisztika értékét a legkisebb mantisszaértékre normalizált alak adja (-6)

011 1010

a mantissza abszolút értéke, 0000 0000 1000 1001 0101 1101

Ábrázoljuk abszulútértékesen, majd alakítsuk át 2-es komplemensé és így ábrázoljuk.

1 011 1010 0000 0000 1000 1001 0101 1101

1 011 1010 1111 1111 0111 0110 1010 0011

0 31

Abszolút értékes

0 31

Kettes komplemens

17. táblázat

Abszolútértékes ábrázolásban csak az előjel bitje változik 0-ról 1-re, ez látható a 17.táblázatban. A 2-es komplemens átalakítás a mantisszára vonatkozik, betartva az átalakítás szabályait, ami

az utolsó legkisebb helyértékű 1-ig egyező, beleértve az 1-et is, attól a nagyobb helyértékek

felé a számjegyek inverzét kell venni.

4.1.4.2 Decimális számok ábrázolása BCD

A 14. táblázatban alakítottuk át a 0,00003275 (10)-es számrendszerbeli számot 2-es

számrendszerbe. A hosszú átalakítási műveletsor ellenére tovább lehetne folytatni. Mivel nem

tudtuk befejezni az átalakítást ezért az pontatlan, mert néhány 10-es törtérték nem

reprodukálható pontos értékben visszaalakítás esetén. A pontatlanság kiküszöbölése

érdekében vezették be binárisan kódolt decimális számokkal (BCD) végzett műveleteket.

Page 21: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

21

Elsősorban a digitálistechnikában terjedt el, számok megjelenítésére, és egyszerű műveletek

elvégzésére.

A 6.táblázatban írtuk fel, a bináris számjegyek a különböző számrendszerekben hogyan

helyezkednek el. Látható, hogy az egyes számrendszerek számjegyei az egységes

ábrázolásnak megfelelően csak helyértékkiegészítővel térnek el egymástól.

számrend

szer

szám

jegy

helyérték

23 2

2 2

1 2

0

2 1 - - - 1

8 1 - 0 0 1

10 1 0 0 0 1

16 1 0 0 0 1

2 5 - - - -

8 5 - 1 0 1

10 5 0 1 0 1

16 5 0 1 0 1

2 9 - - - -

8 9 - - - -

10 9 1 0 0 1

16 9 1 0 0 1

2 D - - - -

8 D - - - -

10 D - - - -

16 D 1 0 1 1

18. táblázat

Felírtuk az 1,5,9 és D (13), számjegyeket a 2, 8, 10, 16 számrendszerekben. Minden

számrendszerben felírható a 0, látható, hogy helyérték nélküli számjegy akkor használjuk, ha

jelezzük azon a helyértéken értékelhető számjegy nincs. A táblázatban az 1 számjegy is

minden számrendszerben ábrázolható, ha a 20 hatványon 1 érték van. Itt látható, hogy a

különböző számrendszerekben ábrázolt 1-s csak annyiban tér el egymástól, amennyi

helyértékkel ábrázolható a legnagyobb számjegye. A táblázatban azok a helyértékek vannak

kihúzva, ami abban a számrendszerben nem kell a bináris képzéshez.

A 10-es számrendszerből BCD átalakítás egyszerű, mert a 10-es számrendszer számjegyeit

egymás mellé 4 vagy 8 bites alakban felírjuk. Ábrázolása abban térhet el, hogy egy 10-es

számjegynek hány bitet tartunk föl az ábrázoláshoz. Az ábrázolásnak két formája alakult ki a

pakolt és a zónázott. A BCD kódolású számnak két tulajdonsága van a számjegyek és az

előjel. Minden számot egészértékként ábrázol, programozás esetén pl. assembly a fordítóval

közölni, hogy a szám egészértékű vagy valós. Ez azt jelenti, hogy 7654(10)szám BCD alakja

egyező a 76,54(10) vagy 7,654(10) stb alakjaival.

4.1.4.3 Pakolt BCD alak

Egésszámú bájtokon, a bájtokat két tetrádra (4 bit) osztva minden tetrádon egy 10-es

számrendszerbeli számjegyet ábrázolunk, az utolsó legkisebb helyértéket tartalmazó tetrád az

előjel, amit szabványos előjelkódok adnak, pozitív szám esetén C(16) bináris megfelelője

(1100(2)), negatív szám esetén D(16) 2-es számrendszerben (1101(2)).

Nézzünk egy feladatot. Végezzük el 32 biten + 6832(10) és a -6832(10) decimális szám pakolt

BCD ábrázolását.

Page 22: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

22

0000 0000 0000 0110 1000 0011 0010 1100

0000 0000 0000 0110 1000 0011 0010 1101

0 0 0 6 8 3 2 C

0 0 0 6 8 3 2 D

+6832

-6832

0 31

0 31

Hexadecimális érték

Hexadecimális érték

19. táblázat

A 32 biten a ki nem töltött bittek helyére nullát írunk. Az ábrázolási formát az aritmetikai

műveletek esetén alkalmazzuk, pl összeadás.

4.1.4.4 Zónás BCD alak

A zónás ábrázolásnál egy számjegy egy bájt. Ábrázolása hasonlóan történik, mint a pakolt

alak esetén, mert félbájton ábrázolt számokról van szó, csak a bájt másik részét úgynevezett

zónabitekkel (F(16)) , bináris megfelelője 1111(2) egészítjük ki, ahol csak egy kivétel van, a

legkisebb bájt, ahol a zónabitek helyén az előjelet ábrázoljuk. Alkalmazását az tette

szükségessé, hogy illeszkedjen a numerikus karakterlánc ábrázoláshoz. Egy karakter 1 byte,

így egy BCD kód zónás alakja szövegkörnyezetben azonos memória helyt foglal el mint egy

karakter. A zóna bitekkel jelzik, hogy BCD számról van szó.

Ábrázoljuk az előző értéke

1111 0110 1111 1000 1111 0011 1100 0010

1111 0110 1111 1000 1111 0011 1101 0010

F6 F8 F3 C2

F6 F8 F3 D2

+6832

-6832

0 31

0 31

Hexadecimális érték

Hexadecimális érték

20. táblázat

A két ábrázolás közötti átalakítást a programozónak kell megoldani.A megoldás, hogy először

a számjegyeket vesszük ki, majd helyezzük el, majd az előjelet. Pl. A pakoltból kiemeljük a

második tetrádtól kezdődő félbájtos értékeket és ezt a bájtok alsó tetrádjaira helyezzük el,

majd folytatjuk a legkisebb helyértékű tetrád előjel értékével, mit, a legkisebb bájt felső

részére tesszük, végül a maradék felsőbájtokat F(16)-re állítjuk, és megkaptuk a zónás alakot.

A zónásból pakoltra áttérés algoritmusát is meg lehet fogalmazni, itt első lépésként az előjelet

vesszük ki az első bájt felső részéből, majd minden alsó bájtból kivesszük a bináris alakot és

terádonként egymás mellé helyezzük. Ha van ki nem töltött helyértékünk, azt kinullázzuk.

Láttuk, hogy minden számrendszerből áttérhetünk bináris számrendszerbe és vissza. A

különböző számrendszerek kialakulása és alkalmazása a számítástechnika fejlődésének egy-

egy korszaka. Léteznek az ún oktális gépek, a hexadecimális gépek a BCD gépek, és a

többszörös hexadecimális gépek. Ennek megfelelően a műveletek elvégzése, a pontos

eredményheu jutás speciális megoldások alkalmazását tette szükségessé az egyes

korszakokban.

Page 23: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

23

4.1.5 Műveletek számrendszerekben

A négy alapműveletet vizsgáljuk, amit az általános iskola alsótagozatában a 10-es

számrendszerben mindenki tanult. Az ott megismert törvények nem változnak az a többi

számrendszerre is vonatkoznak. A négy alapművelet az összeadás, kivonás, szorzás és az

osztás. Minden számrendszer létrehozza saját számjegyeinek csoportját és helyértékét. A

számcsoportokat számjegyek alkotják, a számrendszereket a csoportokat alkotó számjegyek

darabszámáról nevezték el.

4.1.5.1 Összeadás

Def:

Két vagy több számot úgy adunk össze, hogy a legkisebb azonos helyértéken

kezdve összeadjuk a számjegyeket a létrejött átvitellel együtt, majd ezt

elvégezzük minden helyértéken.

Nézzük egy egyszerű szemléltethető példát a 10-es számrendszerre. Adjuk össze 7-t és a 8-at.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

10-es számrendszer számegyenese

7 8

15

14. ábra

A műveletet úgy végeztük el, hogy a 0 kezdetű számegyenesre kiszámoltunk 7-et, majd még

hozzászámoltunk 8-t. Eredményül 15-t kaptunk.

Az összeadásban szereplő számokat összeadandóknak az eredményt összegnek nevezzük.

A gyakorlatban az összeadás a 21.táblázat szerinti elrendezésben jelenik meg, ahol

oszlopelrendezést alkalmazunk, itt az azonos helyértékeket egymás alá írjuk.

1 átvitel

7 összeadandó

műveleti jel + 8 összeadandó

1 5 összeg

21. táblázat

Rajzoljuk fel a 2-es számrendszer számegyenesét és végezzük el ezt az összeadást.

0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001

2-es számrendszer számegyenese

111 1000

1111

15. ábra

Az összeadási szabály és jelölés azonos a 10-esben és a 2-esben. 000 átvitel

111 összeadandó

műveleti jel + 1000 összeadandó

1111 összeg

22. táblázat

Page 24: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

24

A 2-es számrendszerben két számjegy összeadása szerepel, melynek összegét a 15.ábrából

leképezhetjük, ahol 000 , 110 , 1011 . Az első két művelet nem tartalmaz átvitelt,

a harmadik eredménye már átvitelt is tartalmaz. Összefoglalva a 0, és 1 műveleteit érdekes

megállapítást nyerhetünk.

0 0 0 1 átvitel

0 0 1 1 összeadandó

+ 0 + 1 + 0 + 1 összeadandó

0 0 0 1 0 1 1 0 összeg

23. táblázat

Az összeadás eredményét két helyértékre írtuk fel, a kisebb helyértéket vizsgáljuk látható,

hogy az átvitel nélküli eredmény azonos számjegyek esetén 0, különböző számjegyek esetén

1.

Készítsük el a 8-as és 16-os számegyenes egy-egy részletét.

0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21

8-as számrendszer számegyenese

7 10

17

16. ábra

Nézzük a 16-os számrendszerben hogyan alakul az ismert összeadás.

0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11

16-os számrendszer számegyenese

7 8

F

17. ábra

A teljesség kedvéért megadjuk a 8-as és 16-os számrendszer hagyományos összeadási

felírását.

8-as 16-os számrendszer

0 0 átvitel

7 7 összeadandó

+ 1 0 + 8 összeadandó

1 7 F összeg

24. táblázat

4.1.5.2 Kivonás

Def:

Két vagy több szám kivonásán értjük, ha egy számot (kisebbítendő)

csökkenteni akarunk egy vagy több számmal (kivonandó), eredménye a

különbség.

Page 25: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

25

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

10-es számrendszer számegyenese

-6 8

14

18. ábra

A 18.ábra számegyenesén vett 14 egységet 6 egységgel úgy csökkentettem, hogy a 14

egységből visszaszámoltam 6-t, amelynek eredményeként 8-at kaptam.

Összehasonlítva a 14 és 18. ábrát látjuk, hogy a kivonás az összeadás fordított művelete.

Írjuk fel oszlop elrendezésben, vigyázva, hogy az azonos helyértékek egymás alatt legyenek.

10 kölcsönvétel

14 kisebbítendő

műveleti jel - 6 kivonandó

8 különbség

25. táblázat

Egy kivonási művelet felépítése hasonlóan az összeadáshoz két nagy részből áll, úgymint

műveleti jel és értékek. A kivonás értékei a kölcsönvételi érték, kisebbítendő érték, kivonandó

érték és a különbségi érték.

Látható, hogy az egyes helyértéken lévő 4-ből a 6-t nem lehetett kivonni ezért az előtte lévő

10-es helyértékből kölcsön vettünk 1-t vagyis 10-t. Ehhez a 10-hez hozzáadjuk a 4-t, már

elvégezhető a kivonás. Ezt a módszert a kölcsönvétel módszerének nevezzük.

A kölcsönvétel módszere:

Def.:

Két számot a kölcsönvétel módszerével úgy vonunk ki egymásból, hogy - a

legkisebb helyértéken kezdve – az azonos helyértéken lévő kisebbítendő

számjegyéből levonjuk a kivonandó számjegyét.

A módszer lényege, hogy az azonos helyértéken lévő szemjegyek különbségét vesszük úgy,

hogy a kisebbítendő számjegyéből levonjuk a kivonandó számjegyét. Ha a kisebbítendő

számjegye kisebb, mint a kivonandó számjegye, akkor a nagyobb helyértékből kölcsön

veszünk 1-t. A kölcsön vett 1-hez hozzáadjuk a vizsgált helyértéken lévő kisebbítendő

számjegy értékét és ebből vonjuk le a kivonandót

A művelet elvégzése azonos a 2-es számrendszerben.

0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001

2-es számrendszer számegyenese

0111 0110

1101

19. ábra

Egyenletünket a 19.ábra alapján írjuk fel, ami 1101(2)-111(2)=110(2) ami megegyezik 13(10) -

7(10)=6(10) a tizes számrendszerbeli feladattal. Oszlop elrendezésben

Page 26: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

26

0010 kölcsönvétel

0110

1101 kisebbítendő

műveleti jel - 0111 kivonandó

0110 különbség

26. táblázat

A 26. táblázatban felírt értékek kivonásánál szükséges a kölcsönvétel. Vizsgáljuk meg

helyértékenként.

- 20 helyértéken 1-1-et vonunk ki, a különbség 0 nincs kölcsönvétel

- 21 helyértéken 0-1-et kivonást úgy tudjuk elvégezni, ha a

kisebbítendő 1101(2), 22 helyértékű (kiemelt) egyesét

kölcsönvesszük. A 27. táblázat magyarázza a kölcsönvételi

lehetőségeket, így a kapot két 1-esből levonva 1-t 1 marad.

- 22 helyértéken 1-1 kivonást kell elvégezni, de itt a kisebbítendő 1-t

kölcsönvettük, így a 0-1 a kivonási művelet. Hasonlóan az

előzőekhez, csak most a 23 helyértékről veszünk kölcsön. Az innen

kapott 1-es az alacsonyabb (22) helyértéken két egyest jelent. A két

1-esből levonva 1-t, 1-t kapunk.

- 23 helyérték 1-esét kölcsön adtuk, így 0-0 kivonást kell elvégezni,

ami eredménye 0.

A 2-es számrendszerben az azonos helyértéken lévő számjegyek kivonás a következő eseteket

tartalmazzák.

1 1

kölcsönvétel 0 1 0 1

0 0 1 1 kisebbítendő

- 0 - 1 - 0 - 1 kivonandó

0 0 0 1 0 1 0 0 különbség 27. táblázat

Kölcsönvétel ott van, ahol a kisebbítendő értéke kiseb a kivonandó értékénél.

Kettes komplemens képzés módszere:

A 4.1.4.1 bináris számábrázolásban meghatároztuk a komplemens fogalmát. A komplemens

kiegészítést jelent. A számítástechnikában alkalmazzuk azt a matematikai megoldást, ahol a

kivonást el tudjuk végezni összeadásként, ha a kivonandót (negatív számot) átalakítjuk

helyértékes komplemenssé. Ha a kivonást visszavezethetjük összeadásra, akkor a négy

alapművelet megoldható összeadással.

Nézzük először a 10-es számrendszer komplemensképzését. A következő feladaton keresztül

vizsgáljuk a kivonási műveletet.

9(10) kisebbítendő

- 7(10) kivonandó

2(10) különbség

28. táblázat

Page 27: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

27

A komplemens képzés úgy történik, hogy a negatív számot kiegészítjük a nála nagyobb

helyértékre, vagy helyértékekre és ezekből választunk. Most ez a 10-es számrendszerben 10,

100, 1000…. stb, normálalakban felírva 101,10

2,10

3,…,10

n lehet. Készítsünk 10

3-ig egy

táblázatot.

1 0 1 0 0 1 0 0 0 helyérték

- 7 - 7 - 7 kivonandó

3 9 3 9 9 3 komplemens

29. táblázat

Vizsgáljuk meg a három komplemensre elvégzett összeadást.

9 9 9 kisebbítendő

+ 3 + 9 3 + 9 9 3 komplemens

1 2 1 0 2 1 0 0 2 összeg

30. táblázat

A 30. táblázat három eredmények közötti eltérés az oszlopokban esetenként elhelyezkedő

legnagyobb helyértéken lévő 1-es. Az látható, hogy a komplemensképzéssel összefüggésben

van, mert a kiterjesztés helyértéknek megfelelő helyen kapjuk értékét. Ha elhagyjuk, akkor a

28. és 30. táblázat eredménye megegyezik.

Minden számrendszerben elvégezhető a komplemensképzés. Most nézzük meg a 2-es

komplemensképzés szabályait.

A feladatunk megegyező a 10-es számrendszerben elvégzett feladattal. Legyen 9(10)=1001(2)

kisebbítendő, 7(10)=111(2) kivonandó, 2(10)=10(2) pedig az erdemény . Mivel a negatív szám az

111(2), képezzük különböző helyértékre a komplemensét.

1 1 1 átvitelképzése legnagyobb

helyértékről 1 1 1 1 1 1 1 1 1 1 1 1

1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 helyérték

- 1 1 1 - 1 1 1 - 1 1 1 negatív szám

0 0 0 1 0 1 0 0 1 0 1 1 0 0 1 komplemensérték

31. táblázat

Elemezve a 31. táblázat felépítését kijelenthetjük, hogy az egymás alatt lévő helyértékek

azonos értékűek. Az átvitelképzés legnagyobb helyértékről sorban a helyérték sor 1-esét

vesszük kölcsön - ami a legnagyobb helyértéken van- és visszük át az alacsonyabb

helyértékek felé. Természetesen a helyérték sor legnagyobb helyértékének 1-ese kibontás után

0 értékű lesz. Ezek után végezzük el a komplemens összeadásokat.

1 0 0 1 1 0 0 1 1 0 0 1 kisebbítendő

+ 0 0 0 1 + 1 0 0 1 + 1 1 0 0 1 komplemens érték

1 0 1 0 1 0 0 1 0 1 0 0 0 1 0 eredmény

32. táblázat

Eredményünk megint a legnagyobb helyértékben tér el, ha azt elhagyjuk, akkor a kivánásnak

megfelelő értéket kapjuk, 10(2), vagyis 2(10) .

A 31. táblázatban három helyértékre képeztük a -111(2) érték kettes komplemensét, úgymint

2(3), 2(4) és 2(5) helyértékekre. Ezek rendre 0001(2), 01001(2) és 011001(2). Az látható, hogy a

legnagyobb helyértéken mindig 0 érték áll, a három legkisebb helyérték egyezőek. Növelve a

Page 28: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

28

helyértékeket azok számjegyei az 1-esek. Kérdés mi dönti el, hogy milyen nagyságú

helyértékre képezzük a komplemens értékét? A válasz kézenfekvő, nem más, mint a

számábrázolás. A számábrázolás pedig az adatok gépi megjelenését adják. Ezek 8, 16, 32, 64,

128 bites lehet.

Vizsgáljuk meg a negatív számot, a -111(2)-t, illetve kettes komplemensét 001(2) 2k. Látjuk a

két nagyobb helyérték ellentéte (inverze) egymásnak, a legkisebb egyételező. Egészítsük ki

nem értékelhető számjeggyel, ami nulla (0), azokat a helyértékeket, melyek nem

befolyásolják az értékekt. Legyen ez - 00111(2). A legnagyobb helyértékeken lévő 0-k nem

befolyásolják szám értékét. Írjuk egymás alá kettes komplemensével.

- 0 0 1 1 1(2) negatív szám

+ 1 1 0 0 1(2)2k kettes komplemense

33. táblázat

Megállapítható, hogy a két érték egymás inverze, kivétel a legkisebb helyértéken, ahol a

számjegyek azonosak. Ez a kölcsönvétel miatti 1-esek torlódása, ahol a két egyesből egyet

használunk fel.

Nézzük a feladat 16 bites megjelenését. Ábrázoljuk -111-et 16 biten.

1

-

Komplemens helyérték

kibontása 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 komplemens helyérték

- 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 -111(2) 16 bites ábrázolása

0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 komplemens érték

34. táblázat

Látható a komplemens helyérték kibontásakor keletkezett 1-es torlódás a legkisebb

helyértéken. Kölcsönvétel esetén az egyesek torlódása mindig a kölcsönvevő helyértéken jön

létre. Elemezve a komplemens érték 16 bitjét igazoltnak látszik a létrehozásának szabálya,

miszerint 2-es számrendszerben egy negatív szám komplemensét úgy képezzük, hogy vesszük

a szám inverzét és hozzáadunk egyet.

0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1

111(2) 16 biten

1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 inverz

+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +1

1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 komplemens érték

35. táblázat

Tovább egyszerűsíthető 2-es komplemensképzése, ha a következők szerint járunk el.

Def.:

Kettes számrendszerben egy szám kettes komplemensét úgy állítjuk

elő, hogy az átalakítandó szám legkisebb helyértékű 1-ig változatlan

számjegyeket írunk, beleértve 1-t is, nála nagyobb helyértékeknek

vesszük az inverzét.

Nézzünk erre is egy példát. Határozzuk meg a -1011000(2) szám kettes komplemensét és

ábrázoljuk fixpontos 16 biten. Ábrázoláskor tartsuk be a számábrázolás szabályait.

E Egész érték

1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0

-1011000(2) 16 biten

1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 kettes komplemens

36. táblázat

Page 29: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

29

Látható, hogy a 36. táblázatban a kettes komplemens értéke a legkisebb helyértékig egyző

(nyíllal jelzett 1-es), annál nagyobb értékek ellentétes értékűek. ( 10 és 01 csere)

4.1.5.3 Szorzás

A szorzási műveletben lévő számok a szorzandó, a szorzó és a szorzat vagy eredmény.

Szorzási művelettel leegyszerűsítjük a többszöri összeadást. A szorzandó az a szám, amit

önmagával össze kell adni. A szorzó megadja, hogy a szorzandót hányszor kell összeadni. A

szorzat a művelet elvégzésekor kapot mennyiség. Legyen a következő két szám a 3(10) és a

2(10). szorzandó (3(10))

3(10) szorzó (2(10))

+ 3(10)

6(10) szorzat 37. táblázat

A 37. táblázat egy szorzás mennyiségeit ábrázolja a 3(10) a szorzandó a 2(10) a szorzó, ami azt

mutatja, hogy a 3(10)-t a 2(10)-szer kell összeadni, eredményül, vagyis a szorzat a 3(10)+3(10)

összege a 6(10). Tizes számrendszerben a 0-tól 9-ig számjegyek egymással történő szorzását ki

lehet számolni, de már kiszámolták és megadták az un. szorzótáblában. Az általános iskola 2.

osztályában érdemes megtanulni.

Nem csak egyszámjegyű számok szorzásáról van szó, hanem egynél több számjegyűeket is

össze kell tudni szorozni. Igen kényelmetlen lenne az előző műveletet elvégezni, ha a 16(10) –t

a 35(10)-el kellene összeszorozni. Ez azt jelentené, hogy a 16(10)-t 35(10)-ször kellene saját

magával összeadni.

Tizes számrendszerben két számot a következő szabály szerint szorzunk össze.

Def:

Tizes számrendszerben két számot úgy szorzunk össze, hogy a szorzó

minden számjegyével külön-külön megszorozzuk a szorzandó számjegyeit,

az így kapott értékeket egymás alatt, helyértékszerint léptetve leírjuk, és

végül a részeredményeket összeadjuk, ez adja a szorzatot.

Bizonyításként nézzünk meg egy szorzást. Legyen a szorzandó 136(10), a szorzó 253(10).

Jelöljük a szorzási műveletet egy ponttal ( ), tegyünk a szorzat (eredmény) elé egyenlőség

jelet (=). Akkor általánosságban a szorzás a következőképp épül fel.

szorzatszorzószorzandó 20. ábra

Készítsünk a szorzásra egy táblázatot.

Page 30: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

30

102 10

1 10

0 10

2 10

1 10

0 szorzandó és szorzó helyértékei

1 3 6 2 5 3 szorzási művelet kijelölése

1 103 eredmény helyértéken összeadott számjegyek átvitele

1 a szorzó 2-nek az átvitele

2 6 2 szorzandó szorzása a szorzó 2 –vel

1 102 eredmény helyértéken összeadott számjegyek átvitele

1 3 a szorzó 5-nek átvitele

5 5 0 szorzandó szorzása a szorzó 5 –tel

1 101 eredmény helyértéken összeadott számjegyek átvitele

1 a szorzó 3-nak átvitele

+ 3 9 8 szorzandó szorzása a szorzó 3 –mal

3 4 4 0 8 összeadás eredménye, a szorzat

104 10

3 10

2 10

1 10

0 az eredmény helyértéke

38. táblázat

A gyakorlatban nem a 38.táblázat szerint végezzük el a szorzást. Erre azért volt szükség, hogy

a szorzáskor is létrejöhet átvitel, amit a nagyobb helyértékre át kell vinni. A táblázatból az is

kitűnik, hogy két átvitellel kell számolni. Az egyik a részszorzatkor keletkezik, mint pl a

1226 esetében, ahol a 10-t át kell vinni a nagyobb helyértékre. A gyakorlatban ezt úgy oldjk

meg, hogy hozzáadjuk a nagyobb helyértékű szorzás eredményéhez, így már a részszorzatok

tartalmazzák az ilyen típusú átviteleket. A másik átvitel keletkezése a részeredmények

összeadásakor jön létre. Ezt nem írjuk le, hanem az összeadáskor keletkezett átvitelt

hozzáadjuk a magasabb helyértékű oszlophoz.

A szorzásunk megjelenése ilyen változáson megy át.

102 10

1 10

0 10

2 10

1 10

0 szorzandó és szorzó helyértékei

1 3 6 2 5 3 szorzás

2 7 2 szorzandó szorzása a szorzó 2 –vel

6 8 0 szorzandó szorzása a szorzó 5 –tel

+ 4 0 8 szorzandó szorzása a szorzó 3 –mal

3 4 4 0 8 összeadás eredménye, a szorzat

104 10

3 10

2 10

1 10

0 az eredmény helyértéke

39. táblázat

Ha elhagyjuk a helyértékeket és a megjegyzéseket, akkor tovább egyszerűsödik a felírás.

1 3 6 2 5 3

2 7 2

6 8 0

+ 4 0 8

3 4 4 0 8

40. táblázat

A gyakorlatban, számológép nélkül ezt a megoldást alkalmazzuk.

Összefoglalva a szorzási művelet eredendően összeadás, mint ahogyan azt a 37. táblázatban

láttuk.

A szorzási műveletet a kettes számrendszerben is így végezzük el. A különbség annyi, hogy a

műveletet két számjeggyel kell elvégezni {0,1}, ahol érvényes a két számjegyre vonatkozó

tizes számrendszerbeli szorzási szabálya. Nulla szorzandó vagy szorzó esetén az eredmény

nulla, eggyel való szorzás esetén az eredmény a szorzandó vagy egy.

Nézzünk egy feladatot. Legyen a szorzanó 1011(2) és a szorzó 1001(2). Készítsünk táblázatot!

Page 31: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

31

23 2

2 2

1 2

0 2

3 2

2 2

1 2

0 szorzandó és szorzó helyértékei

1 0 1 1 1 0 0 1 szorzás

1 1 összeadási átvitel a kisebb helyértékről

1 0 1 1 szorzandó szorzása a szorzó 1 –vel

0 0 0 0 szorzandó szorzása a szorzó 0 –val

0 0 0 0 szorzandó szorzása a szorzó 0 –val

+ 1 0 0 1 szorzandó szorzása a szorzó 1 –vel

1 1 0 0 0 0 1 eredmény

26 2

5 2

4 2

3 2

2 2

1 2

0 az eredmény helyértéke

41. táblázat

A szorzást (41.táblázat) a szorzó legnagyobb helyértékével kezdtük el. Azokkal az

egyszerűsítésekkel, amit a 10-es számrendszerbeli szorzáskor megtettük tegyük meg most is.

1 0 1 1 1 0 0 1

1 0 1 1 0 0

+ 1 0 0 1

1 1 0 0 0 0 1

42. táblázat

A szorzásunk két részeredményt tartalmaz, az első (42.táblázat) 101100(2), ahol a dőlt és kiemelt

két nulla előtti érték maga a szorzandó, a két nulla a szorzó nulla helyértékű számjegyek szorzási

eredménye. külön nem írtuk le a 0-val való szorzás részeredményét.

Def:

Kettes számrendszerben két számot úgy szorzunk össze, mint tízes számrendszerben,

figyelembe véve a két számjegyre vonatkozó szorzási szabályokat.Ha a szorzó

helyértékén 1 van akkor leírjuk a szorzandót, ha 0, akkor az utolsó részeredmény

legkisebb helyértékére írunk egy 0-t, majd a részeredményeket összedjuk.

4.1.5.4 Osztás

Az osztási műveletben az osztandó az osztó és a hányados fogalmakat használjuk. Az

osztandó és az osztó közé kettőspontot (:) teszünk, a hányados elé egyenlőség (=) jelet.

hányadososztó:oszandó

21. ábra

Általános felépítése a 21. ábrán látható. Végezzük el a következő elemi osztást 8(10):4(10)=2(10).

A műveletet elemezve tapasztaljuk, hogy az osztás nem más, mint kivonás. Előző példánk azt

mutatja, hogy a 8-ból hányszor lehet levonni a 4-t.

osztandó (8(10))

8(10)

első levonás (1(10)) - 4(10)

maradék 4(10) osztó (4(10))

második levonás(2(10)) - 4(10

0(10) maradék 43. táblázat

Az osztási eredmény (hányados) megmutatja, hogy az osztandóból hányszor lehet levonni az

osztót. A levonást addig végezzük, míg a maradék nulla (0), vagy kisebb az osztónál. Ha a

maradék kisebb az osztónál akkor tovább mehetünk, a maradék legkisebb helyértékére nullát

írva, elvégezve az osztást, kapjuk a hányados tört értékét. A tört értékének kezdetét a kitett

vessző jelzi.

Most nézzünk egy összetettebb példát. Legyen a következő számpáros osztása 253:16=?.

Készítsünk táblázatot.

Page 32: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

32

102 10

1 10

0 10

1 10

0 10

1 10

0 10

-1 osztási helyértékek

2 5 3 : 1 6 = 1 5 , 8 osztási művelet kijelölése

0 9 3 25-1 16=09, a hányados 1,és levesszük a 3-at

1 3 0 93-5 16=13, a hányados 5, 0-t írunk utána

0 2 130-8 16=02, a hányados 5 tovább nem folyt.

44. táblázat

A táblázatból látható (44. táblázat) az osztási művelet elvégzésének módszere. Az osztást a

legnagyobb helyértéken kezdjük. Az osztandóban legalább annyi számjegyet kell kijelölni,

mint az osztó. Ha így is kisebb az osztandó részértéke, akkor növeljük a kijekölt számok

darabszámát eggyel. Most első lépésként a 25(10) jelöltük ki. A 25(10)-ből 1-szer tudjuk levonni

a 16(10)-t és a maradék 9(10) lesz. Levesszük a következő számot a 3(10)-mat. Az osztandó

részértéke most már 93(10), amiből 5(10)-ször lehet levonni a 16(10). A maradékot úgy

számoljuk ki, hogy a 16(10) 5(10)=80(10) és a szorzat eredményét levonjuk a 93(10)-ból (93(10)-

80(10)=13(10)). Elfogyott az osztandó számjegye, ezért 0-val pótolva már az osztás tört értékét

számolhatjuk ki. A tört számításánál addig végezzük el a 0 kiegészítést, míg a maradék nulla

lesz vagy megelégszünk a számolt érték pontosságával és abbahagyjuk.

Osztás kettes számrendszerben:

Egyszerűbb, mint a 10-es számrendszerben, mert az elemi lépések értéke 1 vagy 0. Legyen a

következő 1011(2):11(2)=?

23 2

2 2

1 2

0 2

1 2

0 2

1 2

0 2

-1 osztási helyértékek

1 0 1 1 : 1 1 = 1 1 , 1 osztási művelet kijelölése

1 0 1 101-11=10, a hányados 1,és levesszük a 1-et

1 0 0 101-11=10, a hányados 1, 0-t írunk utána

1 100-11=1, a hányados 1 tovább nem folyt.

45. táblázat

A legnagyobb helyértékekből annyit veszünk, hogy le tudjuk vonni az osztandót. Ez három

helyérték (23,2

2,2

1) értéke 101(2). Elvégezzük a kivonást 101(2) -11(2)=10(2) , az első

hányadosértéke 1(2). Levesszük a 20 helyértékű 1(2), részeredményünk ismét 101(2) lesz, és így

tovább. Utolsó helyérték maradéka 1(2), bővítve 0-val 10(2) kapunk, amiben az 11(2) nincs meg,

tehát 0.

4.1.5.5 Műveletek összeadása

Végezetül ismerve a négy elemi műveletet megállapíthatjuk, hogy mind a négy művelet

összeadással elvégezhetjük. Az összeadás elvégzése összeadással, ami természetes. A

kivonást kettes komplemens összeadással oldhatjuk meg. A szorzásban annyiszor adjuk össze

a szorzandót amilyen értéke a szorzónak van. Az osztás az osztó levonása az osztandóból

addig, míg a maradék kisebb az osztónál. Mivel az osztás kivonás, a kivonás komplemens

összeadás, ezért az osztás is elvégezhető összeadásként. Megállapíthatjuk, hogy a négy

alapművelet összeadásból eredendő művelet és azzal elvégezhető.

4.1.6 Művelet számábrázolt értékekkel.

Ábrázolt számokon értjük a számábrázolás által előírt szabályok szerint megadott értékeket.

Ha az előző fejezetekben, megfelelő tudásszintben otthonosan mozog valaki, akkor ez a 8

feladat nem jelent számára nehézséget. Legyen A(10)=435(10), B(10)=135(10) jelöljük az

összeadást szumma első betűjével S-el a különbséget a diferenciából adódóan D-vel.

Legyenek a következő kijelölt műveletek:

BAD;BAD;BAS;BAS 2121

1. egyenlet

Page 33: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

33

Feladat:

Végezzük el számábrázolt értéken az 1. egyenletben megadott műveleteket, ha az

A(10)=435(10), B(10)=135(10) értéket adunk.

Megoldás:

Elkészítjük a megoldási tervet (algoritmust) ami

- számábrázolást 2-es számrendszerben végzünk

- számábrázolás lehet fixpontos és lebegőpontos.

Akkor először az értékeket átalakítjuk 2-es számrendszerbe.

)2()10 A(A

2. egyenlet

4 3 5 : 2

2 1 7 1

1 0 8 1

5 4 0

2 7 0

1 3 1

6 1

3 0

1 1

0 1

46. táblázat

A 46.táblázatból )2()2( 110110011A . Nézzük B értékét.

1 3 5 : 2

6 7 1

3 3 1

1 6 1

8 0

4 0

2 0

1 0

0 1

47. táblázat

B értéke )2()2( 10000111B

4.1.6.1 Műveletek fixpontos ábrázolásban

Az A(2) a nagyobb érték, amit 9 biten tudunk ábrázolni. Azt tudjuk, hogy a számábrázolás

bájtos kiosztású, tehát 8, 16, 32 .. bitcsoportok lehetnek. Kézenfekvő, hogy az ábrázolás

minimum 16 bites, mivel ebben már elfér A(2).

|A(2)|: 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

|B(2)|: 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

48. táblázat

Fixpontos, abszolútértékes ábrázolású a 48.táblázat értékei, ahol tört nulla értéke miatt azt

elhagytuk.

Legyen az első művelet

)2()2()2(1 BAS

3. egyenlet

Page 34: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

34

A(2): 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

B(2): 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

S1(2): 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0

49. táblázat

A 3. egyenletben A(2) és B(2) pozitív előjelű, így ábrázolásban a legnagyobb helyértékű bit

értéke 0, ami megegyezik az abszolútértékes szám előjelével. Az S1(2) értékét úgy kapjuk meg,

hogy vesszük A(2) és B(2) legkisebb helyértékű bitjeit és azokat összeadjuk haladva a nagyobb

helyérétkű bitek felé. Az előjel értékét is össze kell adni! Az S1(2) értéke, )2()2(1 1000111010S

Nézzük a második műveletet,

)2()2()2(2 BAS

4. egyenlet

A második műveletben figyelembe kell venni, hogy A(2) előjele negatív.

-A(2): 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

B(2): 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

50. táblázat

A feladat elvégzése két féle képpen oldható meg, vagy kölcsönvételt alkalmazunk, vagy

kettes komplemens összeadást. Most megoldjuk mind a két módszerrel.

Kölcsönvétel:

A 4.egyenlet jelenti, hogy –A(2) értékét +B(2) értékével kell mozgatnom pozitív irányba.

-A(2): 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

B(2): 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

-S2(2): 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0

51. táblázat

Az S2(2) legnagyobb helyértékű bitértéke 1, tehát S2(2 negatív, ezért értéke , )2()2(2 10000111S .

A kölcsönvétel mellett nézzük meg kettes komplemens ábrázolással. Kettes komplemens

átalakítást mindig a negatív számon hajtunk végre. Akkor most -A(2).

-A(2): 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

-A(2)2k: 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1

B(2): 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

S2(2) 2k: 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0

52. táblázat

Az A(2) bináris számot- erre utal az indexként alkalmazott (2) - kettes komplemens átalakítását

jelöli, a 2k. Későbbiekben ezt alkalmazzuk, ha egy szám ábrázolása 2k érték. Akkor az

52.táblázat S2(2) 2k jelöléssel értékének kettes komplemensére utaltunk. Miből tudjuk, hogy

eredményünk kettes komplemens? Onnan, hogy az előjelbit melletti bitek is mind 1-esek, de

ez csak alaki észrevétel. Egyértelmű definíció fogalmazható meg a kapott eredmény értékéről.

Page 35: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

35

Def.:

Egy fixpontos művelet eredményeként kapott érték akkor kettes komplemens

értékű, ha minden bitet összeadva, beleértve az előjel bitet is, annak

értékére 1-t kapunk és a műveletre kijelölt értékek közül van egy szám, ami

kettes komplemensre átalakított.

A definícióban utalunk arra, hogy legalább az egyik szám kettes komplemens ábrázolású kell,

hogy legyen. Ezt azért fontos megemlíteni, mivel az így ábrázolt érték negatív, összevonva

pozitív számmal az maradhat továbbra is negatív. Ebben az esetben komplemens értékkel

végeztünk művelet, így az eredményünk maradhat komplemens értékű. Ismételt kettes

komplemens átalakítással megkapjuk a helyes értéket.

S2(2) 2k: 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0

-S(2): 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0

53. táblázat

A kölcsönvétellel 51. táblázat és kettes komplemens értékkel számított 53. táblázatban számított

–S(2): értékek egyezők.

A különbségeket, ahol két mennyiség kivonásáról van szó.

Legyen az első egyenletünk:

)2()2()2(1 BAD

5. egyenlet

Most az A(2) pozitív, a B(2) negatív előjelű. A két mennyiség összeadásának elvégezhetősége

miatt a –B(2)-t kettes komplemensé kell alakítani.

A(2): 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

-B(2): 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

-B(2)2k: 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1

D1(2): 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0

54. táblázat

Az A(2) és –B(2)2k kettes számrendszerbeli számok összeadásával –legkisebb helyértéktől a

legnagyobbikig, beleértve az előjelet is- látjuk, hogy összevonás után D1(2) értéke pozitív.

Utolsó műveletként maradt a

)2()2()2(2 BAD

6. egyenlet

Most mind az A(2), mind a B(2) negatív, így kettes komplemensé kell alakítani.

Page 36: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

36

-A(2): 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

-A(2)2k 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1

-B(2): 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

-B(2)2k: 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1

-D2(2)2k: 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0

-D2(2) 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0

55. táblázat

A két komplemens értéket adjuk össze –A(2)2k és –B(2)2k, ahol eredményül komplemens

értéket kapunk –D2(2) (55.táblázat).

4.1.6.2 Műveletek lebegőpontos ábrázolásban

A lebegőpontos számok ábrázolása három részből áll, ezek előjel, karakterisztika és a

mantissza. A lebegőpontos ábrázolásban lévő számok vagy nagyon kis értékűek {0-1}, vagy

nagyon nagy értékűek. Ezért az így ábrázolt számokat 32 bites legkisebb bitmennyiségen

ábrázoljuk. Először a kettes számrendszerű számot nullára normalizáljuk.

Akkor:

8)2()2()2(

9)2()2()2(

210000111,010000111B

2110110011,0110110011A

7. egyenlet

Következő lépésben meghatározzuk a közös karakterisztika értéket, ami a legnagyobb érték

normálalakjának kitevő értéke, ami most A(2) szám 9 kitevője. Ahhoz, hogy összeadáskor ne

keletkezzen túlcsordulás ezért egy helyértékkel kisebbre tesszük a mantissza legnagyobb

értékelhető 1-t, így a közös karakterisztika értéke eggyel nő vagyis 10. Ábrázoljuk ebben a

formában A(2)-t és B(2)-t.

10)2(

8)2()2(

10)2(

9)2()2(

20010000111,0210000111,0B

20110110011,02110110011,0A

8. egyenlet

A 7. és 8. egyenletben a kettes és tizes számrendszer keveredik, mégpedig a kitevő

felírásában. Igazából írhatnánk csak kettes számrendszerben, ami

1010)2(

1010)2(

100010000111,0B

100110110011,0A

9. egyenlet

alakítható ki, azonban ezt a felírási módot kerüljük, mert kissé nehézkesen kezelhető.

Most határozzuk meg a karakterisztika értékét. Mind a két szám normálalakja pozitív

kitevővel rendelkezik, tehát A(2) és B(2) nagyobb 1-nél. Eltolt nullapontú ábrázolásnál a

pozitív kitevőértéket hozzáadjuk a relatív nullaértékhez, ami 100 0000(2) (64(10)) értékű. Akkor

nézzük a két ábrázolt számot 32 biten

A(2): 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

B(2): 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

56. táblázat

Page 37: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

37

Látható, hogy a három elkülönített részből kettőben, ami az előjel és a karakterisztika, nem

alkalmazunk érték nélküli 0-kat, csak a mantissza részben. Ezt azért tesszük, mert a mantissza

ábrázolása mindig a legkisebb helyértéken kezdődik és halad a nagyobb felé, ha nincs több

ábrázolandó számjegy, akkor azokra a helyértékekre 0 írunk.

Vegyük az első egyenletet, emlékeztetőül a 3.egyenlet ( )2()2()2(1 BAS ). A lebegőpontos

ábrázolásban lévő számok összeadási szabálya a következő:

Def:

Lebegőpontos ábrázolású számokat úgy adunk össze, hogy a mantissza

értékének legkisebb helyértékétől haladva a nagyobb felé összeadjuk, a

legnagyobb mantissza biten keletkezett átviteli bitet az összeadott előjel

értékéhez adjuk, változatlan karakterisztikaérték mellett.

Akkor legyen az első egyenlet )2()2()2(1 BAS

A(2): 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

B(2): 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

S1(2) 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0

57. táblázat

Az 57.táblázatból felírható S1(2) normalizált értéke 10

)2()2(1 21000111010,0S

10. egyenlet

Megszüntetve a normálalakot kapjuk az )2()2(1 1000111010S értéket, ami megegyik a fixpontos

ábrázolású értékkel.

Legyen a következő művelet )2()2()2(2 BAS . A műveletben lévő A(2) negatív értékű,

ilyenkor ketteskomplemens összeadást végzünk. Akkor nézzük:

-A(2): 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

-A(2)2k 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1

B(2): 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

-S 2(2)2k 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0

58. táblázat

Az összeadás előjel eredménye 1, ami kettes komplemens értékre utal. Ismételt

ketteskomplemens alkalmazásával megkapjuk S2(2) abszolutértékes távolságát 0-tól.

-S 2(2)2k 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 0

-S 2(2) 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0

59. táblázat

Most vizsgáljuk meg a kivonást, az első egyenlet a )2()2()2(1 BAD -t.

Page 38: INFORMATIKA ALAPJAI - I...Békéscsaba 2012 NetSuli Informatika alapjai-I. Zimmermann József villamosmérnök informatika tanár 4 2 A hardver felépítése Egy számítógép hardver

Békéscsaba

2012

NetSuli

Informatika alapjai-I. Zimmermann József

villamosmérnök

informatika tanár

38

A(2): 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

-B(2): 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

-B(2)2k 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1

D1(2) 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0

átvitel az előjelhez komplemens

összeadásra utaló

átviteli 1-es

60. táblázat

Megállapítottuk, hogy a lebegőpontos ábrázolásban lévő értékek mantissza és előjel bitjeit

össze kell adni, kivétel a karakterisztika. A 60.táblázatban látható, hogy a matissza legnagyobb

helyértékű bitjén létrejött egy átviteli 1-es érték, amit átviszünk az előjel bithez. Ezt akkor

végezhetjük el, ha legalább az egyik szám kettes komplemens ábrázolású. Így összeadva az

előjel bitet az 0 értékű lesz, de ott is keletkezik egy átvitel, ami a komplemens összeadásra

utal, és tartományon kívüli érték, amit már nem ábrázolunk.

És akkor az utolsó műveletünk a )2()2()2(2 BAD

-A(2): 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1

-B(2): 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1

-A(2)2k 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1

-B(2)2k 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1

-D2(2)2k 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0

átvitel az előjelhez komplemens

összeadásra utaló

átviteli 1-es

61. tábláza

Tudjuk, ha a komplemens összeadás eredmény előjele 1, akkor a kapott érték

ketteskomplemens értékű, ismételt kettes komplemens alkalmazásával megkapjuk a valós

értéket.

-D2(2)2k 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0

-D2(2) 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0

62. táblázat

Eredményeink a fixpontos ábrázolással egyezőek.