인프런 커뮤니티 질문&답변
C언어 연산 후 할당 방법 (+=, -=, /=, *=, %=, ^=) 강의 예제 6번
해결된 질문
작성
·
142
답변 1
1
주말코딩
지식공유자
#include <stdio.h>
int main() {
    int g = 12; // 12는 1100 (2진수)
    g ^= 5; // 5는 0101 (2진수), g = g ^ 5와 동일
    printf("g ^= 5의 결과: %d\n", g); // 출력: g ^= 5의 결과: 9 (1001)
    return 0;
}
^는 XOR 연산이었습니다. 기억하시죠?
변수 산술연산자 = 숫자는
변수   = 변수 산술연산자 숫자
이렇게 읽으시면 됩니다. 
ex) var += 5
--->  var = var + 5
그냥 자기 자신이 있던 값을 꺼내와서 오른쪽의 숫자와 연산하고 그대로 자기 자신에게 넣는 것입니다.
XOR은 영상에서 다뤘으니 풀이 순서대로 작성해드리겠습니다. 직접 풀어보시기를 권장드립니다.
g = g ^ 5
- g에 있는 것을 2진수화 한다. (여기서는 12) 
- 5를 2진수화 한다. 
- 서로 다른 경우에만 1을 작성하고, 그렇지 않으면 0으로 작성한다. 
- 그대로 나온 이진수를 10진수로 변환한다 
- g에 대입하여 아래에서 정수형태로 출력한다. 






