2018. február 5., hétfő

Műveletek bináris számokkal

összeadás


Példa_1:
 101011 -> 1+2+8+32= 43
+ 10110 -> 2+4+16= 22
-------   --
1000001 -> 1+64= 65

Példa_2:
 101001 -> 1+8+32= 41
  10111 -> 1+2+4+16= 23
+100111 -> 1+2+4+32= 39
-------   --
1100111 -> 1+2+4+32+64=103

Feladat_1:
 101100
+ 10110
-------
???????

Feladat_2:
  1010101
+ 1100111
---------
  ???????
Feladat_3:
  1110100
  1001101
+  100101
---------
  ???????
A kivonás az összeadásra vezethető vissza, ugyanis pl. 8 - 3 = 8 + (-3). Vagyis a kisebbítendőhöz hozzáadjuk a kivonandó ellentettjét.
Kettes számrendszerben egy szám ellentettjét kettes komplemensnek nevezzük.
A kettes komplemens számolással úgyállítható elő, hogy képezzük a szám egyes komplemensét, majd az így kapott egyes komplemenshez hozzáadunk 1-et. Az egyes komplemens pedig egyszerűen úgy állítható elő, hogy a számot bitenként invertáljuk. (Vagyis a 0 helyett 1-et írunk és fordítva.) 
VIGYÁZAT!!! A kivonandót is annyi bittel kell felírni, ahány bites a kisebbítendő! 

Példa_1:

 101011 -> 1+2+8+32= 43 Vagyis a kisebbítendő 6 bites.
- 10110 -> 2+4+16= 22
-------   --
???????

1. lépés: Az egyes komplemens előállítása.
 010110 -> 101001 (Itt az 10110-ból először 010110-t kell csinálni, hiszen így lesz
 az is ugyanannyi bit, mint a kisebbítendő!!!)
2. lépés: A kettes komplemens előállítása.
    101001
   +     1
   ------
    101010
3. lépés: Az eredeti kisebbítendő és a 2. lépésben kapott kettes komplemens összeadása.
    101011
   +101010
   -------
   1010101 -> 1+4+16 = 21
   Itt a legnagyobb helyiértékű szám, már a 7. biten áll, tehát az már túlcsordulás!!!

Feladat_1:
1010110 - 110011 = ?
Feladat_2:
111011 - 100110 = ?

Műveletek bináris számokkal – szorzás

Példa_1:
 1101 * 1011
  0000
   1101
 +  1101
--------
10001111 13*11 = 143
Megjegyzés: A 0-val való szorzást ki sem kellet volna írni! (A 10-es szr-ben sem tesszük, ugye?)

Példa_2:
 100111 * 11010
  100111
    100111
+    000000 <---(Most a 0-val való szorzást azért írtam ki, hogy a részszorzatok összeadásánál
-----------  ne kövessük el azt a hibát, hogy az eredmény végére nem írjuk oda a 0-t.)
 1111110110 39*26 = 1014
Megjegyzés: Ha negatív számmal kell szorozni, akkor csak egyszerűen összeszorozzuk a két szám abszolút értékét, majd a matematika szabályai alapján megállapítjuk az előjelet. Ha negatív az eredmény, akkor képezzük annak kettes komplemensét.

Feladat_1:
1010110 * 110011
Feladat_2:
111011 * 100110


http://trafo01.uw.hu/

Nincsenek megjegyzések:

Megjegyzés küldése