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

Tìm chẵn lẻ của một số một cách hiệu quả trong C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm tính chẵn lẻ của một số.

Chúng ta có thể tìm số chẵn lẻ một cách hiệu quả bằng cách thực hiện các thao tác sau bằng cách sử dụng xor sang phải toán tử.

int b;
b = n ^ (n >> 1);
b = b ^ (b >> 2);
b = b ^ (b >> 4);
b = b ^ (b >> 8);
b = b ^ (b >> 16);

Nếu bit cuối cùng của kết quả là 1 thì đó là một chẵn lẻ khác chẵn lẻ.

Ví dụ

Hãy xem mã.

#include <bits/stdc++.h>
using namespace std;
void findParity(int n) {
   int b;
   b = n ^ (n >> 1);
   b = b ^ (b >> 2);
   b = b ^ (b >> 4);
   b = b ^ (b >> 8);
   b = b ^ (b >> 16);
   if ((b & 1) == 0) {
      cout << "Even Parity" << endl;
   }
   else {
      cout << "Odd Parity" << endl;
   }
}
int main() {
   int n = 15;
   findParity(n);
   return 0;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

Even Parity

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.