Operatory bitowe

środa, 15 października 2008 22:15 Michał Szymaniak
Drukuj
Ocena użytkowników: / 3
SłabyŚwietny 

Operator to konstrukcja jedno- lub wieloargumentowa zwracająca wartość.
Operatory bitowe w języku C w przeciwieństwie do operatorów logicznych działają na kolejnych bitach argumentu(ów) niezależnie.
Operatory bitowe w języku C:


~  - negacja, np. ~1010 = 0101;
| - alternatywa (or): zwraca 1 jeżeli co najmniej jeden argument jest 1, np. dla wywołania x|y tablica zależności będzie miała następującą postać:
x y x|y
0 0 0
0 1 1
1 0 1
1 1 1


& -   koniunkcja   (and):   zwraca   1   jeżeli  wszystkie   argumenty   są   1,   np.   dla wywołania x&y tablica
zależności będzie miała następującą postać:
x y x&y
0 0 0
0 1 0
1 0 0
1 1 1


^ - bitowa różnica symetryczna (xor – exclusive or): zwraca 1 gdy jeden z argumentów (i tylko jeden) jest 1, np. dla wywołania x^y tablica
zależności będzie miała następującą postać:
x y x^y
0 0 0
0 1 1
1 0 1
1 1 0

 

Przesunięcia bitowe:


<< - przesunięcie bitowe w lewo, polecenie x<<y przesuwa każdy bit zmiennej x o y pozycji w kierunku bitu bardziej  znaczącego.  Najmniej  znaczące miejsca wypełniane są zerami.  Operacja przesunięcia bitowego w lewo jest tożsama z pomnożeniem zmiennej x przez liczbę 2^y (2 do potęgi y).


>> - przesunięcie bitowe w prawo, polecenie x>>y przesuwa każdy bit zmiennej x o y pozycji w kierunku bitu mniej znaczącego. Operacja przesunięcia bitowego w prawo jest tożsama z podzieleniem bez reszty zmiennej x przez liczbę 2^y (2 do potęgi y).


>>> - działa podobnie jak operator >>, dodatkowo dodaje zera z lewej strony.


Bibliografia
Strony internetowe:
http://www.guidecpp.x12.pl/cplus-operators-bits.php
http://republika.onet.pl/13965,15262,11,03-03,kursy.html
http://developer.mozilla.org/pl/Przewodnik_po_j%C4%99zyku_JavaScript_1.5/Operatory/Operatory_bitowe