인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

헌주님의 프로필 이미지
헌주

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

C언어 연산 후 할당 방법 (+=, -=, /=, *=, %=, ^=)

C언어 연산 후 할당 방법 (+=, -=, /=, *=, %=, ^=) 강의 예제 6번

해결된 질문

작성

·

89

0

  • C언어 연산 후 할당 방법 (+=, -=, /=, *=, %=, ^=) 예제 6번 printf 구문라인이 이해가 잘안됩니다 풀어서 알려주실 수 있을까요?

답변 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

  1. g에 있는 것을 2진수화 한다. (여기서는 12)

  2. 5를 2진수화 한다.

  3. 서로 다른 경우에만 1을 작성하고, 그렇지 않으면 0으로 작성한다.

  4. 그대로 나온 이진수를 10진수로 변환한다

  5. g에 대입하여 아래에서 정수형태로 출력한다.

헌주님의 프로필 이미지
헌주

작성한 질문수

질문하기