1. Bitsgewijze &
operator
We zeiden eerder dat alle gegevens in een binaire weergave in het geheugen worden opgeslagen. Dus vrij lang geleden bedachten programmeurs veel interessante manieren om met binaire getallen te werken. Java heeft bijvoorbeeld logische operatoren die werken op de bits van de binaire representatie van een getal: &
(AND), | (OR)
, ~
(NOT of complement) en ^
(XOR - exclusief of).
a & b
&
(EN) operator
Deze operator lijkt erg op de logische &
(AND) operator, alleen wordt hij aangeduid met een enkele ampersand, niet twee:
En het wordt toegepast op individuele bits. Elke operand wordt behandeld als een reeks bits en de i
th bit van het resultaat wordt berekend met behulp van de i
th bit van elk van de twee operanden.
Het eerste bit van het resultaat wordt berekend op basis van het eerste bit van het getal a
en het eerste bit van het getal b
, het tweede bit - op basis van het tweede bit van het getal a
en het tweede bit van het getal b
, enz.
De &
(AND)-operator betekent "het resulterende bit is alleen gelijk aan één als het overeenkomstige bit van het getal a
gelijk is aan één, AND
het overeenkomstige bit van het getal b
gelijk is aan één":
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
Voorbeelden:
Voorbeeld | Resultaat |
---|---|
|
|
|
|
|
|
|
|
2. Bitsgewijze |
operator
Deze operator lijkt sterk op de logische |
(OF) operator, alleen wordt hij aangeduid met een enkele verticale lijn, niet twee:
a | b
En het wordt toegepast op individuele bits. Elke operand wordt behandeld als een reeks bits en het i-de bit van het resultaat wordt berekend met behulp van het i-de bit van elk van de twee operanden.
De bitsgewijze |
(OR) operator betekent "de resulterende bit is gelijk aan één als de corresponderende bit van het getal a
gelijk is aan één, OR
de corresponderende bit van het getal b
is gelijk aan één":
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
Voorbeelden:
Voorbeeld | Resultaat |
---|---|
|
|
|
|
|
|
|
|
Alleen als de corresponderende bits (de bits op dezelfde positie) van beide getallen nul zijn, is de corresponderende bit van het resultaat gelijk aan nul.
3. Bitwise ^
(XOR of "exclusief of") operator
De XOR
operator, ook wel uitgesproken als exclusief of , wordt aangeduid met het ^
symbool. Om het op het toetsenbord in te voeren, drukt u op shift + 6 (op een Engelse toetsenbordindeling).
a ^ b
Deze operator lijkt enigszins op de OR
operator, ook omdat hij een vergelijkbare naam heeft:XOR
De bitsgewijze ^
(XOR) operator betekent "de resulterende bit is gelijk aan één als de corresponderende bit van het getal a
gelijk is aan één, OR
de corresponderende bit van het getal b
is gelijk aan één maar niet beide tegelijk":
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
Voorbeelden:
Voorbeeld | Resultaat |
---|---|
|
|
|
|
|
|
|
|
Alleen als de corresponderende bits (de bits op dezelfde positie) van beide getallen verschillend zijn , is de corresponderende bit van het resultaat gelijk aan één . Als de bits hetzelfde zijn , is de resulterende bit gelijk aan nul .
4. Bitsgewijze ~
(NIET, COMPLEMENT) operator
Ik denk dat je al kunt raden wat het doet. Deze operator lijkt sterk op de logische !
(NOT) operator, maar wordt aangeduid met een tilde , niet met een uitroepteken:
~a
Dit is een unaire operator, wat betekent dat het van toepassing is op een enkel nummer, niet op twee. Het verschijnt voor deze enkele operand.
De bitsgewijze ~
operator betekent "de resulterende bit is één als de overeenkomstige bit van het getal a
nul is, en het is nul als de overeenkomstige bit van het getal a
één is":
~1 = 0
~0 = 1
Voorbeelden:
Voorbeeld | Resultaat |
---|---|
|
|
|
|
|
|
|
|
Deze operator verandert simpelweg de bits die 1
naar 0
en bits die 0
naar 1
.
GO TO FULL VERSION