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
Freigeben: 2024-11-19 18:47:02
Original
927 Leute haben es durchsucht

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);
Nach dem Login kopieren

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;
Nach dem Login kopieren

Durch die Konvertierung der Ganzzahlen in Gleitkommazahlen vor der Division behält das Ergebnis die Gleitkommagenauigkeit bei, wie die folgende Ausgabe zeigt:

3.333
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage