ในปัญหานี้ เราได้รับค่าจำนวนเต็มสองค่า งานของเราคือสร้างโปรแกรม c เพื่อดำเนินการ สำหรับทุกชุดบิตของตัวเลขสลับบิตอื่นๆ
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
Input: 3 7 Output: 4 Binary of 3: 011 Binary of 3: 111
บิตที่หนึ่งและสองของตัวเลขที่สองถูกพลิกซึ่งทำให้เป็น 100 เช่น 4
แนวทางการแก้ปัญหา
แนวทางในการแก้ปัญหาคือดำเนินการ XOR ของตัวเลขทั้งสอง ผลลัพธ์จะถูกสลับเป็นบิตที่บิตของ I'st คือ 1 โดยใช้การดำเนินการ XOR
ตัวอย่าง
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
#include <bits/stdc++.h>
using namespace std;
int main(){
int a = 3, b = 7;
cout<<"The numbers are "<<a<<" & "<<b<<endl;
cout<<"The result of flipping bits is "<<(a ^ b);
return 0;
} ผลลัพธ์
The numbers are 3 & 7 The result of flipping bits is 4