Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตรวจสอบ Alternating Bit Pattern แบบ Set 1 ใน C++

ตรวจสอบว่า Integer n มี Alternating Pattern ใน Binary (101010...) หรือไม่

วิธี: ตรวจสอบแต่ละ Bit ถ้า 2 Consecutive Bits เหมือนกัน คืนค่า false มิฉะนั้น true

ตัวอย่างโค้ด C++

#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) // If current bit is same as previous
            return false;
        previous = current;
        n = n / 2;
    }
    return true;
}

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

ผลลัพธ์

Has alternating pattern