안녕하세요!
오늘도 게임개발자가 되기위해 공부하고 있는 구구입니다.
오늘은 갓생살기 25일차가 되는날입니다.
오늘은 어제 공부하던 연산자에 대해 이어서 공부하도록 하겠습니다.
첫번째로 다룰 내용은 논리연산자입니다.
&&, ||, !
와 같은 연산자가 있습니다.
각각의 뜻은 코딩에서 보면서 이야기하도록 하겠습니다.
A && B
와 같은 형태일때 &&는 A와 B 둘다 True 일 경우에만 True이고 나머지는 False를 반환하는 연산자입니다.
A || B
와 같은 형태일때 ||는 A와 B 둘중 하나라도 True라면 True를 나머지는 False를 반환하는 연산자입니다.
!
는 토글연산자라고 주로 말하는데 False를 True로 True를 False로 바꿔줍니다.
위 특징들을 이해하면 출력이 어떻게 나올지 쉽게 유추할 수 있습니다.
그 다음은 조건 연산자에 대해 이야기해보도록 하겠습니다.
조건연산자는 삼항연산자로
(조건식) ? 처리1 : 처리2
의 순서로 나옵니다.
그래서 조건문이 True일 경우 처리 1로 False일 경우 처리 2로 넘어가게되는 연산자입니다.
쉽게 보지못한 형태이다 보니 헷갈릴 수 있으니 코드를 보면서 좀더 확인해 보도록 하겠습니다.
위에서 언급한 조건 연산자 풀이방법을 적용해보면
첫번째 조건연산자 result는 num이 0 이면 true, num이 0이 아니면 false이고
두번째 조건연산자 result는 num>10 이면 true, num>10이 아니면 false입니다.
결과를 확인해보겠습니다.
삼항 연산자의 경우 잘 알아보기 힘들어서 자주 쓰이진 않습니다.
다음은 비트연산자입니다.
비트단위로 데이터를 처리하고 기호로는
<<, >>
를 사용합니다.
비트연산자는 2진수를 사용하게 되는데 이렇게 되면 우리가 아는 10진수를 못써서 헷갈릴 수 있습니다.
하지만 불필요한 메모리를 줄일 수 있고 연산속도가 빠르기 때문에 프로그램 최적화에 도움이 됩니다.
좀 더 나아가 비트논리 연산자의 경우
&, |, ^, ~
와 같은 것들이 있습니다.
비트연산자를 사용하기 전에 bit 와 byte에 대해 간단하게 알아보겠습니다.
1byte = 8bit
int = 4byte
위 관계를 생각하면서
int a = 255;
라고 코딩했다고 해봅시다.
int는 4byte이므로 이를 bit단위로 쪼개보면
00000000 00000000 00000000 11111111
과 같이 쓸 수 있습니다.
그래서 비트연산자를 쓰게되면
<<의 경우는 왼쪽으로 한 bit씩 움직여라 라는 뜻이고
>>의 경우 오른쪽으로 한 bit씩 움직여라 라는 뜻이 됩니다.
<< 와 >>는 shift 연산자로도 불립니다.
&의 경우는 예를들어
0000 0101 & 0000 1111 = 0000 0101
로 각각의 bit를 서로 AND연산 즉 둘다 1이면 1 나머지는 0을 반환하는 연산입니다.
|의 경우는 예를들어
0000 0101 | 0000 1111 = 0000 1111
로 각각의 bit를 서로 OR연산 즉 둘중 하나라도 1이라면 1 나머지는 0을 반환하는 연산입니다.
^(XOR)는 두개의 비트가 서로 다를 경우만 1을 반환하는 연산자이고
!(NOT)는 보수연산, 비트 반전을 해주는 연산자입니다.
오늘은 여기까지 하도록 하겠습니다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'게임 개발 공부 > 패스트 캠퍼스 이벤트' 카테고리의 다른 글
패스트캠퍼스 챌린지 27일차 (0) | 2021.11.27 |
---|---|
패스트캠퍼스 챌린지 26일차 (0) | 2021.11.26 |
패스트캠퍼스 챌린지 24일차 (0) | 2021.11.24 |
패스트캠퍼스 챌린지 23일차 (0) | 2021.11.23 |
패스트캠퍼스 챌린지 22일차 (0) | 2021.11.22 |
댓글