비교 연산과 논리 연산

 

인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 
😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기!

 

 


 

비교 연산

 

==

!=

a > b

a < b


 

논리 연산

 

!

&&

||

 


 

코드

 

더보기
#include <iostream>

// a[ 1 ]
// a라는 이름의 바구니를 할당하고 안에 1을 넣는다.
int a = 1;

// b[ 2 ]
// b라는 이름의 바구니를 할당하고 안에 2을 넣는다.
int b = 2;

bool isSame;
bool isDifferent;
bool isGreater;
bool isSmaller;

bool test;

int hp = 100;
bool isInvincible = true;

int main()
{
#pragma region 비교 연산
    
    // 언제 필요한가?
    // ex) 체력이 0이 되면 사망
    // ex) 체력이 30% 이하이면 궁극기를 발동 (100 * hp / maxHp)
    // ex) 경험치가 100 이상이면 레벨업

    // a == b : a와 b의 값이 같은가?
    // 같으면 1, 다르면 0
    isSame = (a == b);

    // a != b : a와 b의 값이 다른가?
    // 같으면 1, 다르면 0
    isDifferent = (a != b);

    // a > b : a가 b보다 큰가?
    // a >= b : a가 b보다 크거나 같은가?
    isGreater = (a > b);

    // a < b : a가 b보다 작은가?
    // a <= b : a가 b보다 작거나 같은가?
    isSmaller = (a < b);

#pragma endregion

#pragma region 논리 연산

    // 언제 필요한가? 조건에 대한 논리적 사고가 필요할 때
    // ex) 로그인할 때 아이디도 같고 AND 비밀번호도 같아야 한다.
    // ex) 길드 마스터이거나 OR 운영자 계정이면 길드 해산 가능

    // ! not
    // 0이면 1, 그 외 0
    test = !isSame;  // 사실상 isDifferent 의미

    // && and
    // a && b -> 둘 다 1이면 1, 그 외 0
    test = (hp <= 0 && isInvincible == false); // 죽음

    // || or
    // a || b -> 둘 중 하나라도 1이면 1 (둘 다 0이면 0)
    test = (hp > 0 || isInvincible == true);  //살았음 
    !(hp <= 0 && isInvincible == false);      //살았음. 위에 것이랑 같은 의미

#pragma endregion
}