C-Multiplikationsoperatoren
Die Multiplikationsoperatoren führen Multiplikations- *, Divisions- (/) und Restoperationen (%) aus.
Syntax
multiplicative-expression:
cast-expressionmultiplicative-expression * cast-expression
multiplicative-expression / cast-expression
multiplicative-expression % cast-expression
Die Operanden des Restoperators (%) müssen ganzzahlig sein. Die Operatoren der Multiplikation (*) und der Division (/) können Operanden vom Typ Ganzzahl, Gleitkomma oder Zeiger akzeptieren. Dabei können sich die Operandentypen unterscheiden.
Die multiplikativen Operatoren führen die üblichen arithmetischen Konvertierungen für die Operanden aus. Der Ergebnistyp ist der Typ der Operanden nach der Konvertierung.
Hinweis
Da Konvertierungen, die von den Multiplikationsoperatoren ausgeführt werden, keine Überlauf- oder Unterlaufbedingungen vorsehen, gehen Informationen möglicherweise verloren, wenn das Ergebnis eines Multiplikationsvorgangs nach der Konvertierung nicht im Typ der Operanden dargestellt werden kann.
Die multiplikativen C-Operatoren sind im Folgenden beschrieben:
Operator |
Beschreibung |
---|---|
* |
Der multiplikative C-Operator bewirkt die Multiplizierung seiner beiden Operanden. |
/ |
Der Divisionsoperator bewirkt, dass der erste Operanden durch den zweiten geteilt wird. Wenn zwei ganzzahlige Operanden dividiert werden und das Ergebnis keine ganze Zahl ist, wird sie gemäß den folgenden Regeln gekürzt: |
|
|
|
|
|
|
% |
Das Ergebnis des Restoperators ist das Restergebnis, nachdem der erste Operand durch den zweiten Operanden geteilt wurde. Wenn die Division ungenau ist, wird das Ergebnis durch die folgenden Regeln bestimmt: |
|
|
|
|
|
|
Microsoft-spezifisch
In der Division, in der jeder Operand negativ ist, wird in Richtung 0 abgeschnitten.
Wenn eine Division mit dem Restoperator negativ ist, hat das Ergebnis dasselbe Vorzeichen wie der Dividend (der erste Operand im Ausdruck).
END Microsoft-spezifisch
Beispiele
Die Deklarationen, die unten dargestellt werden, werden für die folgenden Beispiele verwendet:
int i = 10, j = 3, n;
double x = 2.0, y;
Diese Anweisung verwendet den Multiplikationsoperator:
y = x * i;
In diesem Fall wird x mit i multipliziert, um den Wert 20.0 zu erhalten. Das Ergebnis ist vom Typ double.
n = i / j;
In diesem Beispiel wird 10 durch 3 geteilt. Das Ergebnis wird in Richtung 0 verkürzt, was den Ganzzahlwert 3 liefert.
n = i % j;
Diese Anweisung weist n den ganzzahligen Rest 1 zu, wenn 10 durch 3 dividiert wird.
Microsoft-spezifisch
Das Zeichen für den Rest entspricht dem Zeichen des Divisors. Beispiel:
50 % -6 = 2
-50 % 6 = -2
In jedem Fall haben 50 und 2 dasselbe Zeichen.
END Microsoft-spezifisch