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

Kiểm tra bit luân phiên (alternating pattern) cách 1 trong C++


Kiểm tra mẫu bit luân phiên (101010...) bằng cách duyệt từng bit. So sánh bit hiện tại với bit trước, nếu bằng nhau thì không luân phiên.

Ví dụ

#include <iostream>
using namespace std;

bool hasAlternatePattern(unsigned int n) {
    int previous = n % 2;
    n = n/2;
    while (n > 0) {
        int current = n % 2;
        if (current == previous)
            return false;
        previous = current;
        n = n / 2;
    }
    return true;
}

int main() {
    unsigned int number = 42; // 101010
    if(hasAlternatePattern(number))
        cout << "Has alternating pattern";
    else
        cout << "Has no alternating pattern";
}

Kết quả

Has alternating pattern