Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 곱셈 연산자(*)의 모든 것: 나눗셈과 나머지 연산까지 한 번에 정리

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++의 곱셈 연산자군은 *, /, % 세 가지로 구성되며, 모두 왼쪽에서 오른쪽으로 결합됩니다. 특히 정수형 나눗셈은 소수점이 잘리고, 나머지 연산자는 정수형에만 사용할 수 있다는 점만 유의하면 실무에서도 안전하게 활용할 수 있습니다.