Heim >Backend-Entwicklung >C++ >Wie erhalten wir ein Gleitkommaergebnis aus der Ganzzahldivision in C, ohne die Ganzzahlvariablen zu ändern?

Wie erhalten wir ein Gleitkommaergebnis aus der Ganzzahldivision in C, ohne die Ganzzahlvariablen zu ändern?

DDD
DDDOriginal
2024-11-19 18:47:02928Durchsuche

How do we obtain a floating-point result from integer division in C   without altering the integer variables?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn