Loogiset operaatiot biteittäin
C-kielessä on käytössä myös loogiset operaatiot, joilla voidaan tehdä Boolen algebraalisia muunnoksia lukujen kesken:
operaattori |
merkitys (suluissa englanniksi) |
---|---|
|
JA (AND) |
|
TAI (OR) |
{^} |
POISSULKEVA TAI (XOR) |
{~} |
negaatio eli kääntö (bitwise complement) |
- Kaikki yllä olevat operaatiot tehdään lukujen samoissa kohdissa olevia bittejä vertaillen.
Esimerkkejä
Loogisilla operaatioilla saadaan informaatio siitä onko muuttuja nolla tai ei, lisäksi voidaan testata muuttujien yhtä- ja erisuuruutta.
&
-operaatioDebuggeri näyttäisi vastauksen: Vastaus = 0char Eka=5,Toka=2,Vastaus=0; //Eka = 0000 0101b Toka= 0000 0010b Vastaus = Eka & Toka; //Vastaus = 0000 0000
|
-operaatioDebuggeri näyttäisi vastauksen: Vastaus = 7char Eka=5,Toka=2,Vastaus=0; //Eka = 0000 0101b Toka= 0000 0010b Vastaus = Eka | Toka; //
- {^} -operaatio
Debuggeri näyttäisi vastauksen: Vastaus = 7
char Eka=5,Toka=2,Vastaus=0; Vastaus = Eka ^ Toka;
- {~} -operaatio
Debuggeri näyttäisi vastauksen: Vastaus = 250 (tai -6)
char Eka=5,Vastaus=0; Vastaus = ~Eka;