User Tools

Site Tools


tanszek:oktatas:infrendalapjai_architekturak:logika_alapjai:binaris_aritmetika

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:infrendalapjai_architekturak:logika_alapjai:binaris_aritmetika [2024/11/11 19:23] – [Bevezetés] kneheztanszek:oktatas:infrendalapjai_architekturak:logika_alapjai:binaris_aritmetika [2024/11/11 19:37] (current) – [Bináris kivonás] knehez
Line 20: Line 20:
   * bináris kivonást,   * bináris kivonást,
   * bináris szorzást.   * bináris szorzást.
 +
 +==== Bináris összeadás ====
  
 Ha két egybites számot összeadunk, a kimenetel négyféle lehet: Ha két egybites számot összeadunk, a kimenetel négyféle lehet:
Line 27: Line 29:
 0 + 1 = 1 \\ 0 + 1 = 1 \\
 1 + 1 = 10\) 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. 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.
Line 37: Line 41:
  
 === Példa === === Példa ===
 +<code>
 + 1001101
 ++0010010
 +--------
 + 1011111
 +</code>
 +
 +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. ===
 +
 +<code>
 +    11  1   <- Átvitelbitek
 +  1001001
 ++ 0011001
 +---------------
 +  1100010
 +</code>
 +
 +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. ===
 +<code>
 +     11     <- Átvitelbitek
 +  1000111
 ++ 0010110
 +---------
 +  1011101
 +</code>
 +
 +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
 +
 +<code>
 + 0111
 ++1011
 +-----
 +10010
 +</code>
 +
 +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 ===
 +
 +<code>
 +0101 * 0111
 +------
 +0000
 + 0101
 +  0101
 +   0101
 +-------
 + 100011
 +</code>
  
- \( 1001101 \\ +Tízes számrendszerben ez 35-öt ad ahogyan vártuk.
-+0010010 \\ +
--------------- \\ +
-  1011111 \)+
  
tanszek/oktatas/infrendalapjai_architekturak/logika_alapjai/binaris_aritmetika.1731353011.txt.gz · Last modified: 2024/11/11 19:23 by knehez