Umwandeln von Ganzzahlen in Gleitkommazahlen für eine genaue Division
In C führt die Division zweier Ganzzahlen, z. B. in a/b, zu einem ganzzahligen Quotienten . Um ein Float-Ergebnis zu erhalten, müssen die Operanden speziell in Floats umgewandelt werden.
Problemstellung:
Bei der Verwendung ganzzahliger Operanden in einer Divisionsoperation wird das Ergebnis auf gekürzt eine Ganzzahl. Wie kann man dies verhindern und die Integrität der Zahlen aufrechterhalten?
Lösung:
Um dieses Problem zu beheben und ein Float-Ergebnis sicherzustellen, wandeln Sie die Operanden in Floats um:
float ans = (float)a / (float)b;
Durch die explizite Konvertierung der Operanden in Gleitkommazahlen erzeugt die Divisionsoperation ein Gleitkommaergebnis, wobei etwaige Dezimalstellen erhalten bleiben Präzision.
Beispiel:
Betrachten Sie den folgenden Code:
#include <iostream> #include <iomanip> using namespace std; int main() { int a = 10, b = 3; float ans = (float)a / (float)b; cout << fixed << setprecision(3); cout << (a/b) << endl; cout << ans << endl; return 0; }
Ausgabe:
3 3.333
Wie oben gesehen , der Guss sorgt für ein Float-Ergebnis unter Beibehaltung der korrekten Dezimalgenauigkeit.
Das obige ist der detaillierte Inhalt vonWie erhalte ich ein Float-Ergebnis aus der Ganzzahldivision in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!