Toán tử so sánh Bit trong C
Các toán tử so sánh Bit được hỗ trợ bởi Ngôn ngữ C được liệt kê trong bảng dưới đây. Giả sử biến A giữ giá trị 60 và biến B giữ giá trị 13, thì khi đó:
Toán tử | Miêu tả | Ví dụ |
---|---|---|
& | Toán tử AND (và) nhị phân sao chép một bit tới kết quả nếu nó tồn tại trong cả hai toán hạng. | (A & B) sẽ cho kết quả là 12, tức là 0000 1100 |
| | Toán tử OR (hoặc) nhị phân sao chép một bit tới kết quả nếu nó tồn tại trong một hoặc hai toán hạng. | (A | B) sẽ cho kết quả là 61, tức là 0011 1101 |
^ | Toán tử XOR nhị phân sao chép bit mà nó chỉ tồn tại trong một toán hạng mà không phải cả hai. | (A ^ B) sẽ cho kết quả là 49, tức là 0011 0001 |
~ | Toán tử đảo bit (đảo bit 1 thành bit 0 và ngược lại). | (~A ) sẽ cho kết quả là -61, tức là 1100 0011. |
<< | Toán tử dịch trái. Giá trị toán hạng trái được dịch chuyển sang trái bởi số các bit được xác định bởi toán hạng bên phải. | A << 2 sẽ cho kết quả 240, tức là 1111 0000 (dịch sang trái hai bit) |
>> | Toán tử dịch phải. Giá trị toán hạng trái được dịch chuyển sang phải bởi số các bit được xác định bởi toán hạng bên phải. | A >> 2 sẽ cho kết quả là 15, tức là 0000 1111 (dịch sang phải hai bit) |
Ví dụ
Bạn thử ví dụ sau để hiểu tất cả các toán tử so sánh bit có sẵn trong Ngôn ngữ C:
#includemain() { unsigned int a = 60; /* 60 = 0011 1100 */ unsigned int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100 */ printf("1. Gia tri cua c la %d\n", c ); c = a | b; /* 61 = 0011 1101 */ printf("2. Gia tri cua c la %d\n", c ); c = a ^ b; /* 49 = 0011 0001 */ printf("3. Gia tri cua c la %d\n", c ); c = ~a; /*-61 = 1100 0011 */ printf("4. Gia tri cua c la %d\n", c ); c = a << 2; /* 240 = 1111 0000 */ printf("5. Gia tri cua c la %d\n", c ); c = a >> 2; /* 15 = 0000 1111 */ printf("6. Gia tri cua c la %d\n", c ); printf("===========================\n"); printf("VietJack chuc cac ban hoc tot! \n"); }
Biên dịch và thực thi chương trình C trên sẽ cho kết quả sau:
Bạn có thể tự mình kiểm tra kết quả.
Các bài học lập trình C phổ biến khác tại VietJack:
toan_tu_trong_c.jsp
Bài viết liên quan