AND bitowy to operacja wykonywana na odpowiadających sobie bitach dwóch liczb binarnych. Wynikiem dla danej pozycji jest 1 tylko wtedy, gdy oba bity mają wartość 1. W każdym innym przypadku wynikiem jest 0.
Tabela działania AND
| Bit A | Bit B | A AND B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Przykład
Dla liczb binarnych:
1010
AND 1100
= 1000
Porównujemy bity kolumnami od prawej lub od lewej strony:
1 AND 1 = 10 AND 1 = 01 AND 0 = 00 AND 0 = 0
Wynik to 1000.
AND bitowy w programowaniu
W wielu językach programowania operator AND bitowy zapisuje się jako pojedynczy znak &, np. w C++, C#, Javie lub JavaScript:
int wynik = 0b1010 & 0b1100; // wynik: 0b1000
Nie należy mylić go z operatorem logicznym &&, który działa na wartościach logicznych, takich jak true i false.
Zastosowania
AND bitowy stosuje się m.in. do:
- sprawdzania ustawienia wybranego bitu,
- maskowania bitów,
- operacji na flagach,
- niskopoziomowego programowania sprzętu.