- 비트별 XOR 연산자라고도 합니다. 독점 OR
- 를 사용하여 표시됩니다. '^'
- 이름에서 알 수 있듯이, 그것은에 작동합니다 비트 레벨 피연산자의
- 비트별 XOR 연산자는 비트별 연산자 범주에 속합니다.
- 비트 배타적 OR 연산자(XOR)에는 두 개의 피연산자가 필요하며, 이 두 피연산자는 XOR 기호(예: '^')로 구분됩니다.
- 두 피연산자에 XOR 연산자를 적용한 후 나오는 출력 또는 결과를 확인하려면 XOR 연산자의 논리 진리표를 따라야 합니다.
- XOR 진리표는 XOR 연산자의 적절한 논리를 사용하여 구성된 수학적 테이블입니다.
- XOR 연산자 뒤에 사용되는 논리는 다음과 같습니다. 두 노드에 XOR 연산이 적용될 때마다 다른 두 피연산자의 비트를 사용하면 결과는 항상 생성됩니다. '1', 두 개에 XOR 연산을 적용하면 같은 두 피연산자의 비트로 구성된 결과는 출력을 생성합니다. '0'.
배타적 OR(XOR) 연산자의 진리표
두 개의 피연산자가 있다고 가정합니다. 첫 번째는 A이고 두 번째는 B이므로 이 두 피연산자로 구성된 입력의 총 조합은 4가 됩니다. 다음 XOR 진리표를 사용하여 해당 출력을 결정합니다. 결과는 C로 캡처됩니다. C = A ^ B.
이 진리표에서는 비트 형태, 즉 0과 1의 입력을 취하고 출력도 비트 형태, 즉 0과 1로 생성됩니다.
여기서 위의 XOR 진리표에서 피연산자 A와 B의 값이 다를 때(0, 1), (1, 0), 나오는 결과는 항상 1이라는 것을 알 수 있습니다. 피연산자 A와 B의 값이 동일합니다(예: (0, 0), (1, 1)). 나오는 결과는 항상 0입니다.
마찬가지로 이런 식으로 진리표를 그릴 수 있습니다. 부울 가치 -
두 개의 피연산자가 있다고 가정합니다. 첫 번째는 ㅏ 그리고 두 번째는 비 . 이 두 피연산자로 구성된 입력의 총 조합은 4가 됩니다. 다음 XOR 진리표를 사용하여 해당 출력을 결정합니다. 결과는 C로 캡처됩니다. 여기서는 C = A ^ B입니다.
이 진리표에서는 참(T)과 거짓(F)과 같은 진리 값의 형태로 입력을 받습니다. 출력은 True 값(예: T 및 F)의 형태로도 생성됩니다.
여기서 위의 XOR 진리표에서 피연산자 A와 B의 값이 다른 경우, 즉 (F, T), (T, F) 결과는 항상 T라는 것을 알 수 있습니다. 피연산자 A와 B의 값이 동일합니다(예: (F, F), (T, T)). 결과는 항상 F입니다.
위의 표에서 우리는 다음을 관찰합니다. T(True)는 1로 표시되고 F(False)는 0으로 표시됩니다.
드롭다운용 자바스크립트
주어진 문제를 해결하기 위한 단계 -
- 문제에 주어진 피연산자는 항상 10진수 값입니다.
- 먼저 피연산자의 값을 다음으로 변환해야 합니다. 바이너리
- 피연산자의 값을 이진수로 변환한 후 두 피연산자를 서로 겹쳐 놓습니다.
- 배타적 OR(XOR) 연산을 적용하기 전에 다음 사항을 확인하십시오. 자릿수 그들 안에.
- 자릿수 개수가 일치하지 않으면 작은 피연산자의 왼쪽 끝에 있는 추가 0이 자릿수 개수의 균형을 맞춥니다.
- 마지막으로 위의 진리표를 사용하여 XOR 연산을 적용하기 위해 한 번에 한 비트씩 피연산자에 XOR 연산을 하나씩 적용합니다.
- 드디어 결과물이 아웃풋으로 출력됩니다.
- 출력은 이진 형식으로 생성됩니다. 이제 이진 형식을 십진 형식으로 변환하고 결과 값을 기록해 둡니다.
C++에서 비트별 배타적 OR(XOR) 연산 실행
예제를 통해 C++에서 XOR 연산 실행에 대해 더 자세히 이해하겠습니다.
예 1: 정수 값의 배타적 OR 찾기; 10, 14. 그리고 이를 설명하고 C++로 실행코드를 작성하라.
해결책: 위의 질문에 주어진 해당 두 피연산자, 즉 10과 14를 저장하기 위해 두 변수 'a'와 'b'를 고려해 보겠습니다.
여기서 a = 10이고 b = 14입니다.
주어진 두 피연산자의 배타적 OR을 알아내기 위해 아래 단계를 따르겠습니다.
- 10과 14는 10진수 형식이라는 것을 알고 있으며, 비트별 XOR 연산을 적용하려면 이를 2진수 형식으로 변환해야 합니다.
- 이진 형식 'a', 즉 10은 '1010' 'b'의 이진 형식, 즉 14는 '1110'.
- 여기서 우리는 a에 존재하는 이진수의 개수가 4이고 b에 존재하는 이진수의 개수도 4임을 관찰합니다. 따라서 두 변수에 존재하는 이진수의 개수는 동일하고 이미 균형이 잡혀 있으므로 균형을 맞추기 위해 0을 더 추가할 필요가 없습니다.
- 이제 'b'에 있는 이진수를 'a'에 있는 이진수로 내려 놓습니다.
- 마지막으로 해당 비트 일치에 하나씩 XOR 연산을 적용하고 출력을 기록해 둡니다.
- 최종적으로 생성되는 출력은 위의 질문에서 십진수 형식으로 주어진 것처럼 이진수 형태이므로 결과를 십진수 형식으로 변환해야 합니다.
설명:
a = 10 (10진수 형식)
Kat timpf는 변호사인가요?
b = 14 (10진수 형태)
이제 XOR b의 경우 a와 b를 이진 형식으로 변환해야 합니다.
a = 1010 (바이너리 형식)
b = 1110 (바이너리 형식)
이제 a와 b에 XOR 연산을 적용합니다.
a = 1010
b = 1110
---------------
a ^ b = 0100 (바이너리 형식)
a ^b의 결과는 0100이며 이는 이진 형식입니다.
정렬된 튜플 파이썬
이제 결과를 10진수 형식인 4로 변환합니다.
10^14 = 4
참고: 위의 XOR 진리표를 사용하면 해당 비트의 출력이 생성됩니다.
이제 C++ 언어로 10과 14에 비트별 XOR 연산을 적용하여 결과(예: 4)를 얻습니다.
위 예의 C++ 코드:
//************************ C++ Code ****************************** #include using namespace std; int main () { int a, b, c ; // Initializing integer variables to store data values cout <' << endl ; cout <> a ; // taking a as input from user cout <> b ; // taking b as input from user c = a ^ b ; // storing XOR result of a and b in c cout << 'Applying XOR operation on a and b: '<< endl ; cout << 'a ^ b = ' << c << endl ; // Printing the output } </'>
산출
예 2: 정수 값의 배타적 OR 찾기; 3, 15. 그리고 이를 설명하고 C++로 실행코드를 작성하라.
해결책: 위의 질문에 주어진 해당 두 피연산자, 즉 3과 15를 저장하기 위해 두 변수 'a'와 'b'를 고려해 보겠습니다.
여기서 a = 3이고 b = 15입니다.
주어진 두 피연산자의 배타적 OR을 알아내기 위해 아래 단계를 따르겠습니다.
- 3과 15는 10진수 형태인 것을 알고 있으며, 비트별 XOR 연산을 적용하려면 이를 2진수 형태로 변환해야 합니다.
- 이진 형식 'a', 즉 3은 '열하나' 'b'의 이진 형식, 즉 15는 '1111'.
- 여기서 우리는 a에 존재하는 이진수의 개수가 2이고 b에 존재하는 이진수의 개수가 4라는 것을 관찰할 것입니다. 따라서 두 변수에 존재하는 이진수의 개수는 동일하지 않습니다. 따라서 불균형에서는 낮은 이진수 왼쪽에 0을 더 많이 추가해야 합니다. 즉, 'a'입니다. 열하나' , 균형을 맞추기 위해.
- 균형을 맞춘 후 a의 값은 다음과 같습니다. '0011' , 그리고 b는 '1111'.
- 이제 'b'에 있는 이진수를 'a'에 있는 이진수로 내려 놓습니다.
- 마지막으로 해당 비트 일치에 하나씩 XOR 연산을 적용하고 출력을 기록해 둡니다.
- 최종적으로 생성되는 출력은 위의 질문에서 십진수 형식으로 주어진 것처럼 이진수 형태이므로 결과를 십진수 형식으로 변환해야 합니다.
설명:
a = 3 (10진수 형식)
b = 15 (10진수 형태)
이제 XOR b의 경우 a와 b를 이진 형식으로 변환해야 합니다.
arp-a 명령
a = 0011 (바이너리 형식)
Arduino의 전송 속도
b = 1111 (바이너리 형식)
이제 a와 b에 XOR 연산을 적용합니다.
a = 0011
b = 1111
---------------
a ^ b = 1100 (바이너리 형식)
a ^b의 결과는 1100이며 이는 이진 형식입니다.
이제 결과를 12진수 형식으로 변환합니다.
3^15 = 12
참고: 위의 XOR 진리표를 사용하면 해당 비트의 출력이 생성됩니다.
이제 C++ 언어로 3과 15에 비트별 XOR 연산을 적용하여 결과(예: 12)를 얻습니다.
위 예의 C++ 코드:
//************************ C++ Code ****************************** #include using namespace std; int main () { int a, b, c ; // Initializing integer variables to store data values cout <' << endl ; cout <> a ; // taking a as input from user cout <> b ; // taking b as input from user c = a ^ b ; // storing XOR result of a and b in c cout << 'Applying XOR operation on a and b: '<< endl ; cout << 'a ^ b = ' << c << endl ; // Printing the output } </'>
산출