CPP_어소_7_논리 연산자

CJB_ny·2022년 4월 25일
0

CPP_AROTHO

목록 보기
5/83
post-thumbnail

0이 아닌수는 뭐다? 참이다.

Boolean 만 쓰는거 아님.


논리 연산자

참, 거짓

역, 곱, 합

! : 역, && : AND, || : OR

참 : 0 이 아닌 모든 값, 주로 1

(10을 줘도 참이다 == 1을 준다.)

거짓 : 0

true

false

이런거 "키워드"로 준다.

그래서

이런거 1로 봄.

false == 0으로 본다.


bool

일경우 100 -> true;

크기는 1 Byte임

C에는 없는 문법?임

C에서는 "전처리기"로 처리했었음.


IsTrue = true
IsTrue = !IsTrue

하면 false들어간다

근데 이게 정수형에도 가능하다.

이래하면 iTrue에 어떤값이 들어갈까?

" 0 " 들어감

만약 반대의 경우에는

이렇게되면 1을 받아오게된다.

0인 상태가 "거짓"이니까

ITure = 100 && 200;

하게 되면 둘다 0이 아닌수 == "참"이라

연산결과를 "참"을 주게된다.

iTrue = 0 || 100;

iTrue 0 || 0;

이럴경우 생각!

이런 개념을 까먹으면 안됨!


내 생각

어떤 목표지점이 있고 해당 오브젝트에서 목표지점 까지 갈때 벡터 dir 크기가 15라 치자.

그러면 dir이 0이 되면 도착을 한 경우라면

if (dir == 0)

뭐 이렇게 처리할게 아니라 배운대로하면

if (dir)

이라면 아직 벡터가 0보다 크다는 의미이니까 목표지점까지 갈 거리가 남은 것이고

목표지점에 다왔으면 dir이 0으로 바뀌면 이제 false인 상태로

받아들일 준비가 된것임

그러면 dir이 목표지점에 와서 0이라치면

if (dir)

일경우는 if문에 안 들어오게된다. (Update문 안이라면.. 유니티)


나중에 조건문 작성 할 때

a라는 변수의 값이 0이면 거짓이라 보고 변수에 어떤 값이 들어올 것이다.

근데 그값이 1이라는 보장은 없고 그냥 0이 아닌 양수 일때 이고

또 그값은 훼손되면 안되는 의미가 있는 값이다.

그 값을 유지를 한체로 참인지 거짓인지 즉시 활용을 한다.


profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글