Heim >Backend-Entwicklung >C++ >Warum gibt mein Programm „Fahrenheit in Celsius C' 0 aus und wie kann ich das Problem beheben?

Warum gibt mein Programm „Fahrenheit in Celsius C' 0 aus und wie kann ich das Problem beheben?

Barbara Streisand
Barbara StreisandOriginal
2024-10-28 14:41:30234Durchsuche

Why does my Fahrenheit to Celsius C   program output 0 and how can I fix it?

Umrechnungen von Fahrenheit in Celsius: Grundlegende Gleichungsmodifikation

In diesem C-Programm ist unser Ziel die Umrechnung von Fahrenheit in Celsius. Allerdings erzeugt der Code derzeit eine unerwartete Ausgabe von 0. Lassen Sie uns den Grund für dieses Problem untersuchen.

Die problematische Zeile im Code lautet:

fahrenheit = (5/9) * (celsius + 32);

Das Problem entsteht durch die Divisionsoperation (5/9). In C wird standardmäßig eine Ganzzahldivision durchgeführt, was bedeutet, dass das Ergebnis auf eine Ganzzahl gekürzt wird. Dies führt effektiv dazu, dass die Division 0 ergibt, obwohl wir beabsichtigen, dass es sich um einen Gleitkommawert handelt.

Um dies zu korrigieren, müssen wir die Division so ändern, dass sie Gleitkommaarithmetik verwendet. Wir können dies tun, indem wir einen der Operanden wie folgt in einen Gleitkommawert umwandeln:

fahrenheit = (5.0/9) * (celsius + 32);

Indem wir 5 in einen Gleitkommawert (5.0) umwandeln, erzwingen wir, dass die gesamte Division im Gleitkommamodus ausgeführt wird. Daraus ergibt sich die korrekte Umrechnungsformel.

Mit dieser Änderung berechnet das Programm nun die Umrechnung von Fahrenheit in Celsius korrekt und liefert genaue Ergebnisse, wenn eine Celsius-Temperatur eingegeben wird.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Programm „Fahrenheit in Celsius C' 0 aus und wie kann ich das Problem beheben?. 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