다음을 통해 공유


승제 연산자: *, /, %

 expression * expression 
 expression / expression 
 expression % expression

설명

곱셈 연산자는 다음과 같습니다.

  • 곱하기 (*)

  • 나누기 (/)

  • 나머지에서 나누기 연산자 (%)

이 이항 연산자 왼쪽에서 오른쪽으로 연관성이 있습니다.

곱셈 연산자 산술 형식의 피연산자를 사용 합니다.나머지 연산자 (%)는 피연산자는 정수 계열 형식 이어야 합니다는 엄격한 요구 사항이 있습니다.(런타임 함수를 사용 하 여, 부동 소수점 나눗셈의 나머지를 볼 수 fmod입니다.) 변환에 대 한 참고 산술 변환 피연산자에 적용 되 고 변환 된 결과입니다.

곱하기 연산자는 첫 번째 피연산자가 두 번째 곱하기의 결과 얻을 수 있습니다.

나누기 연산자는 첫 번째 피연산자가 두 번째 나눈 결과 얻을 수 있습니다.

다음 식으로 주어진 나머지 연산자를 얻을 수 어디 e1 첫 번째 피연산자입니다 및 e 2 두 번째: e1 – (e1 / e 2) * e 2, 어디 두 피연산자가 모두 정수 계열 형식입니다.

나누기 또는 나머지 식에서 0으로 나누기는 정의 되지 않습니다 및 런타임 오류를 발생 시킵니다.따라서 다음 식 정의 되지 않은, 잘못 된 결과 생성합니다.

i % 0
f / 0.0

곱하기, 나누기, 모듈러스 식 피연산자가 모두 부호가 같은 경우 결과 양수입니다.그렇지 않으면, 결과 음수입니다.기호는 나머지 작업의 결과 구현 시 정의 됩니다.

[!참고]

곱셈 연산자에서 수행 하는 변환 오버플로 또는 언더플로가 발생에 대 한 조건을 제공 하지 않으므로 곱하기 연산의 결과 피연산자 형식에서 변환 후 나타낼 수 없으면 정보가 손실 될 수 있습니다.

Microsoft 전용

Microsoft C++ 나머지 식의 결과가 항상 첫 번째 피연산자의 부호와 동일.

Microsoft 특정 끝

계산 된 나누기 두 정수를 정확 하지 않은 경우 한 피연산자가 음수입니다 결과 나누기 작업을 얻을 수 있는 정확한 값 보다 작은 가장 큰 정수 (의 부호에 관계 없이 강도)입니다.예를 들어, 계산 된 값의 예제의 / 3 –3.666666666입니다.결과 정수 나누기는 –3입니다.

곱셈 연산자 사이의 관계 id로 지정 됩니다 (e1 / e 2) * e 2 + e1 % e 2 = e1.

예제

곱셈 연산자 다음 프로그램을 보여 줍니다.참고 피연산자의 10 / 3 형식으로 명시적으로 캐스팅 되어야 합니다 float 종류의 피연산자가 모두 될 수 있도록 잘림 방지 하기 위해 float 나누기 전에.

// expre_Multiplicative_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
   int x = 3, y = 6, z = 10;
   cout  << "3 * 6 is " << x * y << endl
         << "6 / 3 is " << y / x << endl
         << "10 % 3 is " << z % x << endl
         << "10 / 3 is " << (float) z / x << endl;
}

참고 항목

참조

이항 연산자 식

C + + 연산자

연산자 우선 순위 및 결합성

C 승제 연산자