Wie können Sie in einem Ausdruck wie 34.12 / 68.0 wissen , ob das Divisionszeichen / eine "Ganzzahl-Division" oder "Gleitpunkt-Division" bedeutet?
Sie betrachten die Operanden des Operators.
Aber was, wenn ein Operand eine Ganzzahl und der andere eine Gleitpunktzahl ist? Die Regel ist:
Wenn beide Operanden Ganzzahlen sind, dann ist die Operation eine Ganzzahl-Operation. Wenn einer oder beide Operanden eine Gleitpunktzahl ist, dann ist die Operation eine Gleitpunkt-Operation.
Zum Beispiel sind die folgenden Ganzzahl-Operationen
(vorausgesetzt, dass a
und b
int
-Variablen sind):
12 * b | a - 2 | 56 % a |
Jede Operation in den folgenden Ausdrücken ist eine
Gleitpunkt-Operation
(vorausgesetzt, dass a
und b
int
-Variablen sind
und, dass x
und y
Gleitpunkt-Variablen sind):
x * b | (a - 2.0) | 56*y |
In komplizierteren Ausdrücken könnte ein Operand eines bestimmten Operators ein Unterausdruck sein. Aber die Regel gilt auch hier: wenn einer oder beide Operanden ein Gleitpunkt-Typ ist, dann ist die Operation eine Gleitpunkt-Operation. In dem folgenden ist jede / Operation eine Gleitpunkt-Operation:
(12.0 * 31) / 12 | (a - 2.0) / b | 56.0 * x / 3 |
In diesem letzten Beispiel ist 56.0 * x ein Gleitpunkt-Unterausdruck, der selbst einer der Operanden für den Divisionsoperator ist. (Da * und / die gleiche Präzedenz haben erfolgt die Auswertung von links nach rechts.)