tanszek:oktatas:infrendalapjai_architekturak:logika_alapjai:binaris_aritmetika
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tanszek:oktatas:infrendalapjai_architekturak:logika_alapjai:binaris_aritmetika [2024/11/11 19:21] – created knehez | tanszek:oktatas:infrendalapjai_architekturak:logika_alapjai:binaris_aritmetika [2024/11/11 19:37] (current) – [Bináris kivonás] knehez | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| {{: | {{: | ||
| - | |||
| - | Hogyan működik a bináris számítógépekben a matematika? | ||
| 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. | 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. | ||
| Line 23: | Line 21: | ||
| * bináris szorzást. | * bináris szorzást. | ||
| + | ==== Bináris összeadás ==== | ||
| + | |||
| + | Ha két egybites számot összeadunk, | ||
| + | |||
| + | \(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 === | ||
| + | < | ||
| + | | ||
| + | +0010010 | ||
| + | -------- | ||
| + | | ||
| + | </ | ||
| + | |||
| + | 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. === | ||
| + | < | ||
| + | | ||
| + | 1000111 | ||
| + | + 0010110 | ||
| + | --------- | ||
| + | 1011101 | ||
| + | </ | ||
| + | |||
| + | Ebben a példában is vannak átvitt bitek. Figyeljük meg, hogy van olyan szituáció, | ||
| + | |||
| + | ==== 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 '' | ||
| + | |||
| + | Azért ennek az ábrázolásnak vannak hátrányai. Például a nullát a '' | ||
| + | |||
| + | 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 '' | ||
| + | |||
| + | Egyes komplemense '' | ||
| + | |||
| + | Kettes komplemense: | ||
| + | |||
| + | 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 | ||
| + | ------- | ||
| + | | ||
| + | </ | ||
| + | Tízes számrendszerben ez 35-öt ad - ahogyan vártuk. | ||
tanszek/oktatas/infrendalapjai_architekturak/logika_alapjai/binaris_aritmetika.1731352862.txt.gz · Last modified: 2024/11/11 19:21 by knehez
