Operadores multiplicativos C
Os operadores multiplicativos executam operações de multiplicação (*), divisão (/) e restante (%).
Sintaxe
multiplicative-expression:
cast-expressionmultiplicative-expression * cast-expression
multiplicative-expression / cast-expression
multiplicative-expression % cast-expression
Os operandos do operador de restante (%) devem ser integrais. Os operadores de multiplicação (*) e de divisão (/) podem usar operandos do tipo integral ou flutuante; os tipos dos operandos podem ser diferentes.
Os operadores multiplicativos executam as conversões aritméticas comuns nos operandos. O tipo do resultado é o tipo dos operandos após conversão.
Dica
Uma vez que as conversões executadas pelos operadores de multiplicação não fornecem condições de estouro ou estouro negativo, as informações poderão ser perdidas se o resultado de uma operação de multiplicação não puder ser representado no tipo dos operandos após a conversão.
Os operadores multiplicativos C são descritos abaixo:
Operador |
Descrição |
---|---|
* |
O operador de multiplicação faz com que dois operandos sejam multiplicados. |
/ |
O operador de divisão faz com que o primeiro operando seja dividido pelo segundo. Se dois operandos de inteiro forem divididos e o resultado não for um inteiro, ele será truncado de acordo com as seguintes regras: |
|
|
|
|
|
|
% |
O resultado do operador de restante é o restante quando o primeiro operando é dividido pelo segundo. Quando a divisão não é exata, o resultado é determinado pelas seguintes regras: |
|
|
|
|
|
|
Específico da Microsoft
A divisão onde qualquer operando é negativo, a direção de truncamento é sentido a 0.
Se uma ou outra operação for negativa na divisão com o operador de restante, o resultado terá o mesmo sinal do dividendo (o primeiro operando na expressão).
FIM de Específico da Microsoft
Exemplos
As declarações mostradas abaixo são usadas para os exemplos a seguir:
int i = 10, j = 3, n;
double x = 2.0, y;
Esta instrução usa o operador de multiplicação:
y = x * i;
Nesse caso, x é multiplicado por i para fornecer o valor 20,0. O resultado tem o tipo double.
n = i / j;
Nesse exemplo, 10 é dividido por 3. O resultado é truncado para 0, gerando um valor inteiro 3.
n = i % j;
Essa instrução aloca a n ao restante inteiro, 1, quando 10 é dividido por 3.
Específico da Microsoft
O sinal do restante é o mesmo sinal do dividendo. Por exemplo:
50 % -6 = 2
-50 % 6 = -2
Em cada caso, 50 e 2 têm o mesmo sinal.
FIM de Específico da Microsoft