반응형
📌 요약: 산술 | 단항 | 대입 | 비교 | 논리 | 비트 | sizeof | 연산자 우선순위 등 다양한 연산자 실습과 설명
🔢 산술 연산자 (Arithmetic Operators)
산술 연산자는 수학적 계산을 위해 사용됩니다. 이진 연산자와 단항 연산자로 나뉘며, 주로 숫자 계산에 사용됩니다.
+,-,*,/,%: 이진 산술 연산자+x,-x: 단항 연산자- 나눗셈 시 정수/정수는 소수점 이하를 버립니다.
iValue = 3 + 2; // 5
iValue = 5 % 3; // 2
fValue = 5.f / 3.f; // 1.66667
➕ 단항 연산자 (Unary Operators)
값을 하나 받아 처리하는 연산자입니다. 특히 전위/후위 증가/감소 연산은 실행 순서에 따라 결과가 달라질 수 있습니다.
iValue = 1;
++iValue; // 전위 증가: 2
iValue++; // 후위 증가: 2 → 3
--iValue; // 전위 감소: 2
📝 대입 연산자 (Assignment Operators)
변수에 값을 할당하는 연산자이며, 복합 대입 연산자도 자주 사용됩니다.
iValue = 10;
iValue += 5; // iValue = iValue + 5;
🔍 비교 연산자 (Comparison Operators)
두 값을 비교한 결과를 true 또는 false로 반환합니다.
==,!=,>,<,>=,<=
bValue = (3 > 1); // true
bValue = (3 == 3); // true
🔗 논리 연산자 (Logical Operators)
불리언 값 사이의 논리 연산을 수행합니다. 조건문에 자주 사용됩니다.
bValue = !false; // true
bValue = true && false; // false
bValue = true || false; // true
bValue = true ^ false; // true (배타적 OR)
조건부 연산은 단축 평가를 지원합니다.
iValue = 10;
bValue = false && (++iValue > 5); // iValue는 증가하지 않음
💡 비트 연산자 (Bitwise Operators)
정수를 비트 단위로 연산할 수 있습니다.
iValue = ~0x35; // 비트 반전
iValue = 0x11 & 0x83; // AND
iValue = 0x11 | 0x83; // OR
↔️ 비트 시프트 연산자 (Bit Shift Operators)
iValue = 0x20 << 2; // 왼쪽으로 2비트 이동
iValue = 0x20 >> 2; // 오른쪽으로 2비트 이동
📐 sizeof 연산자
자료형이 차지하는 메모리 크기를 바이트 단위로 반환합니다.
cout << sizeof(int); // 보통 4 바이트
cout << sizeof(double); // 보통 8 바이트
⚙️ 연산자 우선순위
여러 연산자가 혼합된 식에서는 우선순위에 따라 연산이 진행됩니다.
- 기본:
a[i],x++,x-- - 단항:
+x,!x,++x - 곱셈/나눗셈:
x*y,x/y - 덧셈/뺄셈:
x+y,x-y - 시프트:
x<, x>>y - 비교:
x>y,x<=y - 동등:
x==y,x!=y - 논리 AND:
x&&y,x&y - 논리 XOR:
x^y - 논리 OR:
x||y,x|y - 대입:
x=y,x+=y
반응형
'C++ > 기본' 카테고리의 다른 글
| [C++] 6. 포인터 (0) | 2025.03.29 |
|---|---|
| [C++] 5. 함수 (0) | 2025.03.29 |
| [C++] 4. 반복문 (0) | 2025.03.29 |
| [C++] 3. 조건문 (0) | 2025.03.29 |
| [C++] 2. 연산자(2) (0) | 2025.03.29 |