곱하기 연산자C Multiplicative Operators

곱하기 연산자는 곱하기(\), 나누기(/) 및 나머지(%) 연산을 수행합니다.The multiplicative operators perform multiplication (*), division (/**), and remainder (%) operations.

구문Syntax

multiplicative-expression:multiplicative-expression:
cast-expressioncast-expression

multiplicative-expression \* cast-expressionmultiplicative-expression \* cast-expression

multiplicative-expression / cast-expressionmultiplicative-expression / cast-expression

multiplicative-expression % cast-expressionmultiplicative-expression % cast-expression

나머지 연산자의 피연산자(%)는 정수 계열이어야 합니다.The operands of the remainder operator (%) must be integral. 곱하기(\) 및 나누기(/) 연산자는 정수 계열 또는 부동 형식 피연산자를 사용할 수 있습니다. 따라서 피연산자의 형식은 다를 수도 있습니다.The multiplication (*) and division (/**) operators can take integral- or floating-type operands; the types of the operands can be different.

곱셈 연산자는 피연산자에 대한 일반적인 산술 변환을 수행합니다.The multiplicative operators perform the usual arithmetic conversions on the operands. 결과 형식은 변환 후의 피연산자 형식과 동일합니다.The type of the result is the type of the operands after conversion.

참고

곱셈 연산자로 수행된 변환은 오버플로 또는 언더플로 조건을 제공하지 않으므로 변환 후 곱셈 연산 결과가 피연산자 형식으로 표현되지 않는 경우 정보가 손실될 수 있습니다.Since the conversions performed by the multiplicative operators do not provide for overflow or underflow conditions, information may be lost if the result of a multiplicative operation cannot be represented in the type of the operands after conversion.

아래에서 C 곱셈 연산자를 설명합니다.The C multiplicative operators are described below:

연산자Operator 설명Description
\* 곱셈 연산자를 사용하면 두 개의 피연산자가 곱해집니다.The multiplication operator causes its two operands to be multiplied.
/ 나누기 연산자를 사용하면 첫 번째 피연산자가 두 번째 피연산자로 나눠집니다.The division operator causes the first operand to be divided by the second. 두 정수 피연산자를 나눈 결과가 정수가 아닌 경우 다음과 같은 규칙에 따라 잘립니다.If two integer operands are divided and the result is not an integer, it is truncated according to the following rules:
- 0으로 나누기 결과는 ANSI C 표준에 따라 정의되지 않습니다.- The result of division by 0 is undefined according to the ANSI C standard. Microsoft C 컴파일러는 컴파일 타임이나 런타임에서 오류를 발생시킵니다.The Microsoft C compiler generates an error at compile time or run time.
- 두 피연산자 모두 양수 또는 부호 없는 피연산자인 경우 결과는 0으로 잘립니다.- If both operands are positive or unsigned, the result is truncated toward 0.
- 피연산자 중 하나가 음수인 경우 연산 결과가 대수 몫보다 작거나 같은 최대 정수인지 또는 대수 몫보다 크거나 같은 최소 정수인지가 정의되는 구현입니다.- If either operand is negative, whether the result of the operation is the largest integer less than or equal to the algebraic quotient or is the smallest integer greater than or equal to the algebraic quotient is implementation defined. (아래의 Microsoft 전용 섹션을 참조하십시오.)(See the Microsoft Specific section below.)
% 나머지 연산자 결과는 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지입니다.The result of the remainder operator is the remainder when the first operand is divided by the second. 나누기가 정확하지 않은 경우 결과는 다음 규칙에 따라 결정됩니다.When the division is inexact, the result is determined by the following rules:
- 오른쪽 피연산자가 0이면 결과가 정의되지 않습니다.- If the right operand is zero, the result is undefined.
- 두 피연산자 모두 양수 또는 부호 없는 피연산자인 경우 결과는 양수입니다.- If both operands are positive or unsigned, the result is positive.
- 한 피연산자가 음수이고 결과가 정확하지 않은 경우 결과는 정의된 구현입니다.- If either operand is negative and the result is inexact, the result is implementation defined. (아래의 Microsoft 전용 섹션을 참조하십시오.)(See the Microsoft Specific section below.)

Microsoft 전용Microsoft Specific

한 피연산자가 음수인 나누기에서는 0으로 잘립니다.In division where either operand is negative, the direction of truncation is toward 0.

나머지 연산자를 사용한 나누기에서 한 연산이 음수인 경우 결과는 피제수(식의 첫 번째 피연산자)와 기호가 동일합니다.If either operation is negative in division with the remainder operator, the result has the same sign as the dividend (the first operand in the expression).

Microsoft 전용 종료END Microsoft Specific

예제Examples

아래의 선언은 다음 예제에서 사용합니다.The declarations shown below are used for the following examples:

int i = 10, j = 3, n;  
double x = 2.0, y;  

이 문은 곱셈 연산자를 사용합니다.This statement uses the multiplication operator:

y = x * i;  

이 경우 xi로 곱하여 20.0이라는 값을 제공합니다.In this case, x is multiplied by i to give the value 20.0. 결과는 double 형식입니다.The result has double type.

n = i / j;  

이 예제에서는 10을 3으로 나눕니다.In this example, 10 is divided by 3. 결과는 0으로 잘려 정수 값 3을 생성합니다.The result is truncated toward 0, yielding the integer value 3.

n = i % j;  

이 문은 10을 3으로 나눌 때 n에 정수 나머지 1을 할당합니다.This statement assigns n the integer remainder, 1, when 10 is divided by 3.

Microsoft 전용Microsoft Specific

나머지의 부호는 피제수의 부호와 동일합니다.The sign of the remainder is the same as the sign of the dividend. 예를 들어:For example:

50 % -6 = 2  
-50 % 6 = -2  

각각의 경우에 502의 부호는 동일합니다.In each case, 50 and 2 have the same sign.

Microsoft 전용 종료END Microsoft Specific

참고 항목See Also

곱하기 연산자 및 나머지 연산자Multiplicative Operators and the Modulus Operator