ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมค้นหาความเท่าเทียมกันของตัวเลข
เราสามารถหาความเท่าเทียมกันของตัวเลขได้อย่างมีประสิทธิภาพโดยดำเนินการดังต่อไปนี้โดยใช้ xor และ กะขวา โอเปอเรเตอร์
int b; b = n ^ (n >> 1); b = b ^ (b >> 2); b = b ^ (b >> 4); b = b ^ (b >> 8); b = b ^ (b >> 16);
หากบิตสุดท้ายของผลลัพธ์คือ 1 แสดงว่าเป็นพาริตีคี่ อย่างอื่นมีความเท่าเทียมกัน
ตัวอย่าง
มาดูโค้ดกันเลย
#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; }
ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
Even Parity
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น