Bạn có 1 số chả C = 5 và số char thì nó bao gồm 8 bit từ bit số 0 đến bit số 7. Biểu diễn dưới dạng bit của C sẽ là 00000101.
Bạn muốn kiểm tra một bit bất kỳ giữa 0 và 7 ví dụ bit số 0 thì cách đơn giản là bạn xoá các bit không cần kiểm tra về 0. Khi đó kết quả thu được =0 nếu bit cần kiểm tra =0, >0 nếu bit cần kiểm tra =1.
Để làm điều đó bạn sẽ AND C với một số mà bit số 0 bạn set = 1 và các bit khác là 0. Nó chính là 00000001 gọi là MASK (mặt nạ - sẽ che đi các bit không cần quan tâm). Kết quả:
C = 00000101
MASK = 00000001
KQ = 00000001
Nhìn kết quả bạn sẽ thấy kết quả là giá trị của C đã bị clear các bit từ 1 đến 7 do nó được and với một số mà bit số 1->7 là 0. KQ>0 chứng tỏ bit 0 của C=1.
Tương tự nếu kiểm tra bit số 1 của C thì MASK bây giờ là 00000010. Kết quả sẽ = 0 chứng tỏ bit 1 của C=0.
Thực tế MASK ít được viết dưới dạng bit 0-1 mà viết dưới dạng hexa.
00000001 = 0x01 // bit 0
00000010 = 0x02 // bit 1
00000100 = 0x04 // bit 2
00001000 = 0x08 // bit 3
00010000 = 0x10 // bit 4
......