Operatory mnożenia języka C
Operatory mnożenia wykonują operacje mnożenia (*), dzielenia (/) i reszty (%).
Składnia
multiplicative-expression:
cast-expressionmultiplicative-expression * cast-expression
multiplicative-expression / cast-expression
multiplicative-expression % cast-expression
Operandy operatora reszty (%) muszą być całkowite.Operatory mnożenia (*) i dzielenia (/) mogą przyjąć operandy o typie całkowitym lub zmiennoprzecinkowym; typ operandów może być różny.
Operatory mnożenia wykonują na operandach typowe konwersje arytmetyczne.Typ wyniku jest typem operandów po konwersji.
[!UWAGA]
Ponieważ konwersje wykonywane przez operatory mnożenia nie dostarczają warunków przepełnienia lub niedomiaru, informacje mogą zostać utracone, jeśli wynik operacji mnożenia nie może być przedstawiony za pomocą typu operandów po konwersji.
Poniżej opisano operatory mnożenia języka C:
Operator |
Opis |
---|---|
* |
Operator mnożenia powoduje mnożenie swoich dwóch operandów. |
/ |
Operator dzielenia powoduje dzielenie pierwszego operandu przez drugi.Jeśli wynik dzielenia dwóch operandów całkowitych nie jest liczbą całkowitą, to zostanie obcięty zgodnie z następującymi regułami: |
|
|
|
|
|
|
% |
Wynikiem operatora reszty jest reszta z dzielenia pierwszego operandu przez drugi.Jeśli dzielenie jest niedokładne, wynik jest określany zgodnie z następującymi regułami: |
|
|
|
|
|
|
Specyficzne dla firmy Microsoft
Podczas dzielenia, gdy oba operandy są ujemne, wynik jest obcinany w kierunku 0.
Jeśli którakolwiek operacja jest ujemna podczas dzielenia za pomocą operatora reszty, wynik ma taki sam znak jak dzielnik (pierwszy operand w wyrażeniu).
KONIEC informacji specyficznych dla firmy Microsoft
Przykłady
Deklaracje pokazane poniżej są używane w następujących przykładach:
int i = 10, j = 3, n;
double x = 2.0, y;
Ta instrukcja używa operatora mnożenia:
y = x * i;
W tym przypadku, x jest mnożone przez i, aby dać wartość 20.0.Wynik jest typu double.
n = i / j;
W tym przykładzie, 10 jest dzielone przez 3.Wynik jest obcinany w kierunku 0, dając wartość całkowitą 3.
n = i % j;
Ta instrukcja przypisuje n resztę całkowitą 1, gdy 10 jest dzielone przez 3.
Specyficzne dla firmy Microsoft
Znak reszty jest taki sam, jak znak dzielnika.Na przykład:
50 % -6 = 2
-50 % 6 = -2
W każdym przypadku, 50 i 2 mają ten sam znak.
KONIEC informacji specyficznych dla firmy Microsoft