본문 바로가기

기초83

C++ 기초 : 비트 연산자 (2) 비트 연산을 왜 할까요? 예를 들어 시뮬레이션 게임이 있다고 합시다. 캐릭터가 가질 수 있는 여러 상태가 있겠죠?우리는 변수 하나로 모든 상태를 표현할 수 있습니다.unsigned int iStatus = 0; 위와 같이 캐릭터 상태를 담을변수 iStatus를 선언해 보겠습니다.  int형이기 때문에 4byte, 즉 32bit입니다.이는 32개의 칸으로 이루어졌다고 볼 수 있죠. 각각 칸마다 어떤 상태를 표현할지 정하고,해당 칸이 0이면 해당 상태가 아니고 1이면 해당 상태라고표현할 수 있는 것입니다.32가지 상태를 표현할 수 있겠군요. 아래와 같은 코드가 있습니다.#define HUNGRY 1#define THIRSTY 2int main() { unsign.. 2024. 2. 16.
C++ 기초 : define / 비트 연산자 (1) 비트 연산자를 이용하여 비트 단위로 연산할 수 있습니다.비트 연산자 중 시프트 연산자라는 것이 있습니다.>로 씁니다. 아래와 같은 코드를 입력했을 때 어떻게 작동하는지 살펴보면서 설명하겠습니다.unsigned char num = 1;num   위 코드에서 char형 변수 num의 비트를 보면 아래와 같을 것입니다.00000001  그 다음 시프트 연산 00000010 비트를 한 칸 옮기면서 1이었던 값이 2가 되었습니다.  이번에는 두 칸 옮겨 볼까요?unsigned char num = 1;num   위 코드에서 char형 변수 num의 비트 상태는 아래와 같을 것입니다.00000001.. 2024. 2. 15.
C++ 기초 : switch 구문 / 삼항 연산자 if / else 구문과 비슷한 switch 구문을 알아봅시다.  switch 구문은 아래 그럼처럼 사용됩니다. switch문에 들어온 값이 10인 경우, case 10으로 들어가 코드를 실행합니다.만약 switch문에 들어온 값이 20이라면 case 20으로 들어가 코드를 실행할 것입니다.default는 어떤 조건에도 해당하지 않으면 실행되는 부분입니다.break는 해당 구문을 빠져나오라는 의미로switch문에서 나오라는 명령입니다.  여기서 주의할 점은break가 없다면 여러가지 case를 실행하게 될 수도 있다는 점입니다. 위 코드를 보면case 10에 break가 없습니다.switch문에 들어온 값이 10이니까 case 10으로 들어가코드를 실행하게 될 것입니.. 2024. 2. 12.
C++ 기초 : if / else 구문 if / else 구문을 알아봅시다. if는 기본적으로 아래 코드처럼 사용합니다.if(){ } 소괄호 안에 조건이 들어갑니다.해당 조건이 참이면 중괄호 안 코드를 실행합니다.거짓이면 빠져나옵니다. 아래 예시를 살펴보겠습니다.변수 data를 선언하고 0으로 초기화하였습니다.그리고 if 구문을 통해 100과 200의 &&(AND) 연산을 진행하였습니다.100과 200을 && 연산하면 1이 나오고 1은 컴퓨터에서 참으로 인식합니다.따라서 if 중괄호 안 구문을 실행합니다. 변수 data 안에 100을 대입하는 것이죠.확인 결과 100이 대입된 것을 확인할 수 있습니다.  이번에는 if 구문 소괄호 안에 조건식의 결과가 거짓이 나오도록 하였습니다.0은 거짓, 200은 .. 2024. 2. 10.
C++ 기초 : 비교 연산자 비교 연산자의 종류는==, !=, , = 가 있습니다. ==는 피연산자가 서로 같은지!=는 서로 다른지>는 왼쪽보다 오른쪽이 큰지>= 는 왼쪽이 오른쪽보다 크거나 같은지비교하는 연산자이죠. 비교 연산 결과 같다면 참(true)이 나오고다르다면 거짓(false)이 나옵니다.    강의 출처 : https://www.youtube.com/watch?v=PFc4g8mxOiI&list=PL4SIC1d_ab-aOxWPucn31NHkQvNPHK1D1&pp=iAQB 2024. 2. 10.
C++ 기초 : 논리 연산자 컴퓨터는 0이 아닌 값은 true(참), 0은 false(거짓)로 봅니다. true와 false만 취급하는 자료형이 있습니다.바로 bool이라는 자료형인데요.크기는 1byte입니다.bool형 변수 trueFalse라는 변수에 100을 넣었습니다.그리고 값을 확인해 보니 true라고 나왔습니다.0이 아닌 값을 컴퓨터에서 true라고 인식하기 때문이죠. 이번에는 0을 넣었습니다.값을 확인해 보면 false라고 나옵니다.컴퓨터에서 0은 false라고 인식하기 때문입니다. C++에서는 아예 true와 false이 문법에 있습니다.위 사진에서 true라는 값을 넣은 변수 IsTrue의 값을 확인해 보면 1이 들어갔습니다.또한 false라는 값을 넣은 변수 IsFalse의 값을 확.. 2024. 2. 9.