Casting für Float-Division in Java
In Java führt die Ganzzahldivision (int / int) zu einer Ganzzahl, auch wenn die Division beteiligt ist Gleitkommazahlen. Dieses Verhalten kann bei der Berechnung von Werten, die zu Gleitkommazahlen führen sollen, wie z. B. Geschwindigkeit, problematisch sein.
Beachten Sie den folgenden Code:
class CalcV { float v; float calcV(int s, int t) { v = s / t; return v; } }
Hier ist die Division zweier Ganzzahlen (s und t) ergibt eine ganze Zahl (v). Um sicherzustellen, dass die Division stattdessen eine Gleitkommazahl erzeugt, müssen wir einen der Operanden in eine Gleitkommazahl umwandeln.
v = (float)s / t;
Diese Umwandlung führt dazu, dass der Compiler eine Gleitkommadivision durchführt, obwohl der andere Operand (t ) ist eine ganze Zahl. Der ganzzahlige Operand wird während des Vorgangs aufgrund der Java-Typ-Promotion-Regeln automatisch in einen Gleitkomma-Operanden umgewandelt.
Daher können wir durch die Umwandlung eines Operanden in einen Gleitkomma-Operanden vor der Division erzwingen, dass die Berechnung ein Gleitkomma-Ergebnis erzeugt.
Das obige ist der detaillierte Inhalt vonWie kann eine Gleitkommadivision in Javas Ganzzahlberechnungen sichergestellt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!