Gleitkomma-Präzision bei der Ganzzahldivision
In C rundet die Ganzzahldivision das Ergebnis oft auf die nächste ganze Zahl ab. Einige Operationen erfordern jedoch eine gebrochene Genauigkeit. Wie können wir ein Gleitkomma-Ergebnis erhalten, ohne die Ganzzahlvariablen zu ändern?
Betrachten Sie den folgenden C-Code:
int a = 10, b = 3; float ans = (a / b);
Trotz der Einstellung der Gleitkommaformatierung schneidet der a/b-Ausdruck die ab Ergebnis in 3.
Die Lösung liegt in der Typumwandlung der Operanden in Gleitkommazahlen:
float ans = (float)a / (float)b;
Durch die Konvertierung der Ganzzahlen in Gleitkommazahlen vor der Division behält das Ergebnis die Gleitkommagenauigkeit bei, wie die folgende Ausgabe zeigt:
3.333
Das obige ist der detaillierte Inhalt vonWie erhalten wir ein Gleitkommaergebnis aus der Ganzzahldivision in C, ohne die Ganzzahlvariablen zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!