Upload
others
View
5
Download
1
Embed Size (px)
Citation preview
INFORMATIKA ALAPJAI - I
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
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é.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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.
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
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
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:
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.
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.
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.
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
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.
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
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
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
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
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.
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!
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.
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
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
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.
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.
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
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.
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.