이 문제에서는 두 개의 정수 값이 제공됩니다. 우리의 임무는 숫자의 모든 설정 비트에 대해 다른 비트의 토글 비트에 대해 작업을 수행하는 c 프로그램을 만드는 것입니다.
문제를 이해하기 위해 예를 들어보겠습니다.
Input: 3 7 Output: 4 Binary of 3: 011 Binary of 3: 111
두 번째 숫자의 첫 번째 및 두 번째 비트가 뒤집혀서 100 즉 4가 됩니다.
솔루션 접근 방식
문제를 해결하는 방법은 두 숫자의 XOR 연산을 수행하는 것입니다. 결과는 XOR 연산을 사용하여 I의 비트가 1인 비트에 대해 토글됩니다.
예시
솔루션 작동을 설명하는 프로그램
#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