연습장

비교 연산과 논리 연산 본문

언리얼 개발자/C++

비교 연산과 논리 연산

도다람 2022. 8. 1. 21:55

주제: 비교 연산과 논리 연산


비교연산이 언제 필요한가?

체력이 0이 되면 사망한다,

체력이 30% 이하이면 궁극기를 발동한다.

(100*hp/maxHp), 경험치가 100 이상이면 레벨업을 한다.

 

비교 연산

a == b a와 b의 값이 같은가? 같으면 1, 다르면 0
a != b a와 b의 값이 다른가? 다르면1, 같으면 0
a > b a가 b보다 큰가?
a > = b a가 b보다 크거나 같은가?
a < b a가 b보다 작은가?
a <= b a가 b보다 작거나 같은가?
#include <iostream>
using namespace std;

int a = 1;
int b = 2;

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

int main(){
	isSame = (a == b);
	isDifferent = (a != b);
	isGreater = (a > b);
	isSmaller = (a < b);
}

논리연산이 언제 필요한가?

조건에 대한 논리적 사고가 필요할  때, 하나의 정보가 아닌 여러 정보를 조합하여 최종 판단을 해야하는 상황일 때

로그인할 때 아이디도 같고 And 비밀번호도 같아야 한다. ( 두가지 조건을 동시에 만족 (and문

길드마스터이거나 Or 운영자계정이면 길드 해산이 가능하다. ( 둘 중 하나의 조건만 만족 (or문

 

논리연산

&& and 둘다 1이면 1, 그 외 0
|| or 둘 중 하나라도 1이면 1, 둘 다 0이면 0
!not 0이면 1, 그 외 0
#include <iostream>
using namespace std;

int a = 1;
int b = 2;

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

bool test;

int hp =100;
bool isInvincible = true; //무적여부


int main(){
	isSame = (a == b);
	isDifferent = (a != b);
	isGreater = (a > b);
	isSmaller = (a < b);
    
    
	test = !isSame; //사실상 isDifferent의 의미
	test = (hp <=00 && isInvincible == false); //체력이 없고 무적도 아니기에 죽음, 죽었냐?
	test = (hp > 0 || isInvincible == true); //체력도 있고 무적이기에 살아있음, 살았냐?
	/*!(hp <=00 && isInvincible == false) 살았냐?를 이렇게도 표기 가능함 */
}

논리연산 어셈블리 분석 이해 못함

'언리얼 개발자 > C++' 카테고리의 다른 글

const와 메모리 구조  (0) 2022.09.05
비트 연산과 비트 플래그  (0) 2022.08.07
산술 연산(데이터 연산)  (0) 2022.07.31
문자와 문자열  (0) 2022.07.31
불리언과 실수  (0) 2022.07.30
Comments