Table of Contents
Bináris aritmetika
Bevezetés
Gottfried Wilhelm Leibniz (Lipcse, 1646. július 1. – Hannover, 1716. november 14.) polihisztor: jogász, diplomata, történész, matematikus, fizikus és filozófus egyszerre. Nagy Frigyes azt mondta róla: „önmagában egy akadémia”.
Leibniz a XVII. század vége és a XVIII. század eleje között alkotott, egyike volt a német felvilágosodás alapítóinak. Newtontól függetlenül létrehozta a matematikai analízist. Leibniz hozzájárult a formális logika megteremtéséhez, az univerzális, tudományos kalkulus bevezetésével - Descartes-hoz hasonlóan - az általános megismerési módszert kereste.
A kettes számrendszer pontos leírását is ő adta meg először az Explication de l'Arithmétique Binaire című könyvében.
Az alapvető matematikai műveleteket bináris számokkal is elvégezhetjük. A bináris elven működő számítógépek is ilyen módon működnek.
A digitális számítógépekben az Aritmetikai és Logikai Egység (Arithmetical Logical Unit, ALU) végzi ezeket a műveleteket.
Ebben a leckében áttekintjük és példával megmutatjuk a:
- bináris összeadást,
- bináris kivonást,
- bináris szorzást.
Bináris összeadás
Ha két egybites számot összeadunk, a kimenetel négyféle lehet:
\(0 + 0 = 0 \\ 1 + 0 = 1 \\ 0 + 1 = 1 \\ 1 + 1 = 10\)
Az összeadást ugyanúgy végezzük, mint tízes számrendszerben. Az egyes helyi-értéktől kezdve összeadjuk a biteket és folytatjuk a magasabb helyi-értékek felé.
Látható, hogy az eredmény nem minden esetben fér el egy biten. Amikor az összeadáskor olyan eredményt kapunk, amelyiknél átvitel van, akkor egy bit túlcsordul a magasabb helyi-érték irányában. Tulajdonképpen a fenti táblázatot ki kell egészítenünk úgy, hogy a két bit összeadásakor a túlcsordulás bitet is figyelembe vesszük.
\(0 + 0 + 0 = 0 \\ 0 + 0 + 1 = 1 \\ 0 + 1 + 0 = 1 \\ 0 + 1 + 1 = 10 \\ 1 + 1 + 1 = 11\)
Példa
1001101 +0010010 -------- 1011111
Az összeadást ugyanúgy végezzük, mint tízes számrendszerben. Az egyes helyi-értéktől kezdve összeadjuk a biteket és folytatjuk a magasabb helyi-értékek felé.
Példa átvitelbittel 1.
11 1 <- Átvitelbitek 1001001 + 0011001 --------------- 1100010
Ebben a példában már vannak átvitt bitek is, ezeket a legfelső sorban jelöltük kék színnel. Az összeadás itt is ugyanúgy zajlik, mint a tízes számrendszerben.
Példa átvitelbittel 2.
11 <- Átvitelbitek 1000111 + 0010110 --------- 1011101
Ebben a példában is vannak átvitt bitek. Figyeljük meg, hogy van olyan szituáció, amikor az átvitelbit további helyi-értékek felé csúszik el.
Bináris kivonás
Negatív számok esetén a komplemens alapú számábrázolás az egyik lehetséges számábrázolási forma. Egy bináris szám egyes komplemensét úgy kapjuk meg, hogy megcseréljük a biteket: 0-ból 1 lesz, 1-ből 0.
Például a 1010 0011
bitsorozat egyes komplemense 0101 1100
lesz.
Azért ennek az ábrázolásnak vannak hátrányai. Például a nullát a 0000 0000
és az 1111 1111
egyaránt reprezentálja.
Egy bináris szám kettes komplemensét úgy képezzük, hogy az egyes komplemenshez hozzáadunk egyet.
Tehát legyen az eredeti szám 1010 0011
.
Egyes komplemense 0101 1100
.
Kettes komplemense: 01011100 + 1 = 01011101
.
A kivonás helyett a kivonandó kettes komplemensét adjuk hozzá a kisebbítendőhöz. Vegyünk egy példát:
\( 7_{(10)}-5_{(10)} \)
Binárisan ez így nézne ki: \( 0111_{(2)}-0101_{(2)} \)
Az 5 egyes komplemense 1010, kettes komplemense 1011 A kivonást tehát felcseréljük a kivonandó kettes komplemensének hozzáadásához
0111 +1011 ----- 10010
Az eredményből egyszerűen elhagyjuk a legnagyobb helyi-értékű bitet. Az eredmény tehát:
\( 0111_{(2)}-0101_{(2)}= 0010_{(2)} \)
\( 7_{(10)}-5_{(10)} = 2_{(10)} \)
Bináris szorzás
0101 * 0111 ------ 0000 0101 0101 0101 ------- 100011
Tízes számrendszerben ez 35-öt ad - ahogyan vártuk.