Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm chẵn lẻ (Parity) của số trong C++

Cho một số nguyên. Tìm parity (chẵn/lẻ) của số bit 1 trong biểu diễn nhị phân của nó.

Ví dụ minh họa (C++)

#include <bits/stdc++.h>
#define bool int
using namespace std;

bool getParity(unsigned int n) {
    bool parity = 0;
    while (n) {
        parity = !parity;
        n = n & (n - 1); // xóa bit 1 thấp nhất
    }
    return parity;
}

int main() {
    unsigned int n = 7;
    cout << "Parity of no " << n << ": " << (getParity(n) ? "Odd" : "even");
    getchar();
    return 0;
}

Đầu ra

Parity of no 7: odd