User Tools

Site Tools


tanszek:oktatas:szamitastechnika:binaris_muveletek

Bináris műveletek gyakorlati alkalmazása: AND, OR, XOR

A bináris logikai műveletek (AND, OR, XOR) fontos szerepet játszanak a bitek kezelésében, mint például a bitek beállítása, kikapcsolása, illetve megfordítása. Az alábbiakban bemutatjuk, hogyan lehet ezeket a műveleteket felhasználni gyakorlati feladatok megoldására.

1. AND (és) művelet

Az AND művelet csak akkor ad 1-es eredményt, ha mindkét bemenet 1. A bitek “kikapcsolására” használhatjuk, mert a 0 hatására minden egyes bitet 0-ra állít.

Igazságtábla:

A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1

Példa: Adott egy 8 bites számunk: 10101101. Ha csak az alsó négy bitet (jobbról négyet) akarjuk megtartani, akkor használjuk az AND műveletet:

  10101101 
& 00001111
  --------
  00001101

Ez hasznos, ha egy adott bitcsoportot akarunk maszkolni, azaz megtartani a kívánt biteket, és lenullázni a többit.

2. OR (vagy) művelet

Az OR művelet akkor ad 1-es eredményt, ha legalább az egyik bemenet 1. Ezt a bitek “bekapcsolására” használhatjuk, mert a 0 nem változtatja meg az eredményt, de a 1-es beállítja az adott bitet 1-re.

Igazságtábla:

A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

Példa: Ha egy bitek közül egyet be akarunk állítani (pl. jobbról a negyediket), és a többit érintetlenül hagyni, akkor használjuk az OR-t:

  10101101
| 00001000
----------
  10101101

Ez hasznos, ha egy konkrét bitet szeretnénk 1-re állítani anélkül, hogy a többi bitet megváltoztatnánk.

3. XOR művelet

Az XOR (kizáró vagy) művelet akkor ad 1-et, ha a bemenetek eltérnek. Ezzel biteket kapcsolgathatunk, azaz ha egy bit értéke 1, akkor 0-ra vált, és fordítva.

Igazságtábla:

A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Példa: Ha az alsó 4 bit értékét akarjuk megfordítani:

  10101101
^ 00001111
----------
  10100010

Gyakorlati példa: Bitek beállítása és törlése

Tegyük fel, hogy van egy 8 bites regiszterünk: R = 10101101.

Egy bit bekapcsolása (pl. 3. bit):

R = 10101101

Maszk legyen: 00000100

Megjegyzés: a maszkot a gyakorlatban a '«' biteltolás művelettel adják meg, az 1 « 2 művelet az első bitet kettővel balra tolja.

Művelet: R | Maszk

Eredmény:

  10101001
| 00000100
----------
  10101101 (a 3. bit 1 lett)

Egy bit kikapcsolása (pl. 4. bit):

R = 10101101

Maszk legyen: 11110111, a gyakorlatban ezzel adjuk meg: ~(1 « 3)

Megjegyzés: ~(1 « 3) művelet az első bitet kettővel a negyedik helyre (helyiértékre) tolja, majd a '~'-al negálja, azaz megfordítja biteket.

Művelet: R & Maszk

Eredmény:

  10101101
& 11110111
----------
  10100101  (a 4. bit 0 lett)

Egy bit átkapcsolása (pl. 0. bit):

Maszk legyen: 00000001 (1 « 0)

Művelet: R ^ Maszk

Eredmény:

  10101101 
^ 00000001
----------
  10101100  (a 0. bit megfordult)

Az igazságtáblák és a fenti példák segítségével megérthető, hogyan manipulálhatók a bitek a logikai műveletek segítségével. Ez alapvető fontosságú az alacsony szintű programozásban és a digitális áramkörök tervezésében.

tanszek/oktatas/szamitastechnika/binaris_muveletek.txt · Last modified: 2024/10/08 19:23 by knehez