C++에서 곱셈 연산자(multiplicative operators)는 단순히 곱하기만 하는 것이 아니라, 나눗셈과 나머지 계산까지 포함하는 개념입니다. 산술 연산의 기본이 되는 이 연산자들을 정확히 이해하면 수식 처리와 알고리즘 구현이 훨씬 쉬워집니다.
C++ 곱셈 연산자의 세 가지 종류
- 곱셈 (*) — 두 피연산자를 곱합니다.
- 나눗셈 (/) — 첫 번째 피연산자를 두 번째 피연산자로 나눕니다.
- 나머지 (%) — 나눗셈 후 남은 '나머지'를 구합니다.
연산자의 기본 특징
이 연산자들은 모두 이항(binary) 연산자로, 왼쪽에서 오른쪽으로 결합(left-to-right associativity)됩니다. 즉, 여러 연산자가 섞여 있을 때 왼쪽 표현식부터 차례대로 평가됩니다.
피연산자로는 일반적으로 산술 타입(arithmetic type)이 허용되지만, 나머지 연산자(%)는 조금 더 엄격한 제약이 있습니다. 반드시 정수형(integral type) 피연산자만 사용할 수 있다는 점을 기억해야 합니다.
각 연산자의 동작 방식
1. 곱셈 연산자 (*)
첫 번째 피연산자에 두 번째 피연산자를 곱한 결과를 반환합니다.
2. 나눗셈 연산자 (/)
첫 번째 피연산자를 두 번째 피연산자로 나눈 결과를 반환합니다. 주의할 점은, 두 피연산자가 모두 정수형일 경우 결과도 정수로 계산되어 소수점 이하가 버려진다는 것입니다. 예를 들어 4 / 3의 결과는 1.333...이 아니라 1이 됩니다.
3. 나머지 연산자 (%)
두 피연산자가 모두 정수형일 때, 다음 식으로 계산된 나머지를 반환합니다.
e1 – (e1 / e2) * e2
여기서 e1은 첫 번째 피연산자, e2는 두 번째 피연산자입니다. 쉽게 말해 나눗셈의 몫을 구한 뒤, 그 몫을 다시 곱해서 원래 값에서 빼면 나머지가 됩니다.
C++ 곱셈·나눗셈·나머지 연산 예제 코드
#include<iostream>
using namespace std;
int main() {
int a = 4, b = 3, c;
c = a * b; // 곱셈
cout << c << endl;
c = a / b; // 나눗셈. 두 피연산자가 int형이므로 결과는 내림된 정수
cout << c << endl;
c = a % b; // 나머지(모듈로)
cout << c << endl;
return 0;
}실행 결과
위 코드를 실행하면 다음과 같은 출력을 확인할 수 있습니다.
12 1 1
정리
C++의 곱셈 연산자군은 *, /, % 세 가지로 구성되며, 모두 왼쪽에서 오른쪽으로 결합됩니다. 특히 정수형 나눗셈은 소수점이 잘리고, 나머지 연산자는 정수형에만 사용할 수 있다는 점만 유의하면 실무에서도 안전하게 활용할 수 있습니다.