Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt giữa toán tử bit và logic AND trong C / C ++ là gì

Như chúng ta đã biết AND bit-khôn được biểu diễn dưới dạng ‘&’ và toán tử logic được biểu diễn là ‘&&’. Có một số khác biệt cơ bản giữa chúng. Những điều này như sau -

  • Toán tử logic AND hoạt động trên các biểu thức Boolean và chỉ trả về các giá trị Boolean. Toán tử AND bitwise hoạt động trên dữ liệu kiểu int nguyên, int ngắn, dài, không dấu và cũng trả về kiểu dữ liệu đó.

Ví dụ

#include<iostream>
using namespace std;
int main() {
   int x = 3; //...0011
   int y = 7; //...0111
   if (y > 1 && y > x)
      cout << "y is greater than 1 AND x" << endl;
   int z = x & y; // 0011
   cout << "z = "<< z;
}

Đầu ra

y is greater than 1 AND x
z = 3
  • Toán tử &&không đánh giá toán hạng thứ hai nếu toán hạng đầu tiên trở thành sai. Tương tự, || toán tử không đánh giá toán hạng thứ hai khi toán hạng đầu tiên trở thành true, nhưng các toán tử bitwise như &và | luôn đánh giá toán hạng của họ.

Ví dụ

#include<iostream>
using namespace std;
int main() {
   int x = 0;
   cout << (x && printf("Test using && ")) << endl;
   cout << (x & printf("Test using & "));
}

Đầu ra

0
Test using & 0