✏ 산술 연산
✔ 산술 연산자: 더하기 (+), 빼기 (-), 곱하기 (*), 나누기 (/)
✔ 대입 연산
a = b //a에 b를 대입하고 b를 반환한다는 의미
a = b = 3; //오른쪽부터 차례대로 실행됨
✔ 증감연산자: 변수값을 1 증가시키거나 1 감소시킬 때 쓰는 연산자
a++; //a = a + 1 과 같은 의미
a--; //a = a - 1 과 같은 의미
✔ ++와 --가 변수의 앞에 붙는지 뒤에 붙는지에 따라 의미가 다르다.
b = a++; // a를 b에 적용시킨 이후 a + 1
b = ++a; // a를 1 증가시킨 후 b에 적용
✏ 비교 연산
✔ 변수의 값을 비교하는 연산
✔ 비교 연산 결과 참이면 1, 거짓이면 0
✏ 논리 연산
✔ 조건에 대한 논리적 사고가 필요할 때 쓰는 연산
✔ ||: or
✔ &&: and
✏ 비트 연산
✔ 비트 단위의 조작이 필요할 때 쓰이지만 많이 쓰이는 편은 아니다.
~ //bitwise not. 단일 숫자의 모든 비트를 ㅐㄷ상으로 0을 1, 1을 0으로 바꾸는 것
& //bitwise and. 두 숫자의 모든 비트 쌍을 대상으로 and를 실행한다.
| //bitwise or. 두 숫자의 모든 비트 쌍을 대상으로 or을 실행한다.
^ //bitwise xor: 두 숫자의 모든 비트 쌍을 대상으로 xor을 실행한다.
//(두 숫자가 다르면 1, 두 숫자가 같으면 0)
✔ 좌측 이동과 우측 이동 (주의해야 함!)
<<
/*
비트 좌측 이동. 비트열을 n만큼 왼쪽으로 이동한다.
왼쪽의 넘치는 비트는 버리고, 오른쪽 생성되는 비트는 0
*/
>>
/*
비트 좌측 이동. 비트열을 n만큼 오른쪽으로 이동한다.
오른쪽의 넘치는 비트는 버린다.
왼쪽의 생성되는 비트는 두가지 경우로 나뉜다.
1. 부호 비트가 존재할 경우 - 부호 비트를 따라감.
2. 부호 비트가 존재하지 않을 경우 (unsigned의 경우) - 0
✔ 좌측 이동과 우측 이동 예시
flag = (1 << 3); //1을 왼쪽으로 3번 이동 - 8으로 컴퓨터가 인식!
✏ Const
✔ constant의 약자. 한번 정해지면 절대 바뀌지 않을 값들 앞에 붙인다. (변수의 상수화)
✔ const를 붙이면 초기값을 반드시 지정해야 한다.
const int AIR = 0;
✏ 타입 변환
✔ 바구니를 교체한다는 뜻이다.
✔ 크기가 더 작은 타입으로 변환할 때 문제가 생길 수 있다.
int hp = 20;
short hp2 = hp; //윗쪽 비트 데이터가 잘린 상태로 저장됨
float hp3 = hp; //실수로 변환할 때 정밀도 차이가 있기 때문에 데이터 손실이 됨
unsigned int hp4 = hp; //비트 단위로 보면 똑같지만 분석하는 방법이 달라짐
'컴퓨터 언어 > C++' 카테고리의 다른 글
진수 입력 및 출력 (0) | 2023.06.21 |
---|---|
precision, fixed 함수 (0) | 2023.04.24 |
srand(time(0)) (0) | 2023.03.22 |
Enum (0) | 2023.03.22 |
문자와 문자열 (1) | 2022.11.13 |