본문 바로가기
C언어/연산자 (논리,산술,비교)

[C언어] 논리연산자와 부울연산

by bigpicture 2022. 2. 25.
반응형

컴퓨터 언어에는 '논리연산'이 있습니다. 논리연산은 논리값으로 하는 연산입니다. 조지 부울이 발견했기 때문에 부울연산이라고도 부릅니다. 

 

논리값은 0과 1입니다. 0은 거짓, 1은 참을 의미합니다. 참과 거짓을 가지고 하는 연산이 논리연산입니다. 

 

기본적인 논리연산에는 세가지가 있습니다. 

 

- 논리곱(AND)

- 논리합(OR)

- 부정(NOT)

 

1) 논리곱

논리곱은 둘다 참인 경우에만 참을 반환합니다. 연산자는 && 입니다. 표로 나타내면 아래와 같습니다. 

 

A B A && B
1 1 1
1 0 0
0 1 0
0 0 0

 

코드 예시는 아래와 같습니다. 

 

#include <stdio.h>

int main()
{
    int A;
    int B;
    int result1;
    
    A=1;
    B=0;
    
    result1=(A && B);

    printf("result1 : %d",result1);

    return 0;

}

 

 

2) 논리합

논리곱은 둘 중 하나만 참이어도 참을 반환합니다. 연산자는 || 입니다. 표로 나타내면 아래와 같습니다. 

 

논리곱은 둘다 참인 경우에만 참을 반환합니다. 연산자는 && 입니다. 표로 나타내면 아래와 같습니다.

 

A B A || B
1 1 1
1 0 1
0 1 1
0 0 0

 

코드 예시는 아래와 같습니다. 

 

#include <stdio.h>

int main()
{
    int A;
    int B;
    int result1;
    
    A=1;
    B=0;
    
    result1=(A || B);

    printf("result1 : %d",result1);

    return 0;

}

 

 

3) 부정

부정은 참이면 거짓, 거짓이면 참을 반환합니다. 연산자는 ! 입니다. 표로 나타내면 아래와 같습니다.

 

A !A
1 0
0 1

 

코드 예시는 아래와 같습니다. 

 

#include <stdio.h>

int main()
{
    int A;
    int B;
    int result1;
    int result2;
    
    A=1;
    B=0;
    
    result1=!A;
    result2=!B;

    printf("result1 : %d \n",result1);
    printf("result2 : %d",result2);

    return 0;

}

 

반응형

댓글