De aangegeven logische bewerking wordt bitsgewijs uitgevoerd,
d.w.z. elk bit van het resultaat wordt bepaald door de overeenkom-
stige bits van beide operanden. Logische operatoren
kunnen dan
ook worden gebruikt om bytes te testen op een bepaald voorko-
mend bitpatroon.
De AND-operator
kan bij voorbeeld worden
gebruikt om bepaalde bits in een byte (8-bit woord) te "maskeren".
De OR-operator
kan worden gebruikt om twee bytes a.h.w. te
mengen teneinde een bepaalde binaire waarde te verkrijgen.
De
volgende voorbeelden
dienen om de werking van logische opera-
toren verder te verduidelijken:
(63 AND 16) = 16
63 = binair 111111 en 16 = binair 10000.
63 AND 16 is dus 100000
AND geeft de bits, die én in 63 én in 16
voorkomen.
15 = binair 1111 en 14 = binair 1110.
1111 AND 1110 = 1110 = 14
(15 AND 14) = 14
-1 = binair
1111111111111111
en 8 = binair 1000,
of eigenlijk
0000000000001000
:-1
AND 8) = 8
(4 OR 2) = 6
4 = binair 100 en 2 = binair 10.
100 OR 010 = 110 = 6
(de bits die óf in 4 óf in 2 óf in beide voorkomen)
10 = binair 1010. 1010 OR 1010 = 1010
(10 OR 10) = 10
-1 = binair 1111111111111111 en
-2 = binair 1111111111111110
-1 OR
-2)
= 1
(NOT X) = -(X + 1) De 2-complement
waarde van een getal is
gelijk aan het bit-complement
(alle bits
inverteren),
plus 1
(4 IMP 2) = -5
4 = 0000000000000100
2 = 0000000000000010
1111111111111011
=-5
(8 XOR 10) = 2
8 = 1000 10 = 1010
8 XOR10 = 0010 = 2 (bits die in 8 óf in 10 maar
niet in beide voorkomen).
77