User Tools

Site Tools


tanszek:oktatas:infrendalapjai_architekturak:logika_alapjai:binaris_aritmetika

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.

tanszek/oktatas/infrendalapjai_architekturak/logika_alapjai/binaris_aritmetika.txt · Last modified: 2024/11/11 19:37 by knehez