논리 연산자
참, 거짓
역, 곱, 합
! : 역, && : 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이 아닌 양수 일때 이고
또 그값은 훼손되면 안되는 의미가 있는 값이다.
그 값을 유지를 한체로 참인지 거짓인지 즉시 활용을 한다.