DAVID J. MALAN: Wie Sie wahrscheinlich wissen, Temperaturen werden unter Verwendung verschiedenen Skalen in verschiedenen Teilen der Welt. Zum Beispiel ist 212 Grad Fahrenheit 100 Grad Celsius und 32 Grad Fahrenheit 0 Grad Celsius. Wäre es nicht schön, wenn wir einen Computer Programm, das uns erlaubt konvertieren von, sagen wir, Fahrenheit in Celsius? Nun, wir können dieses Programm zu schreiben. Lassen Sie uns zunächst mit umfassen cs50.h starten, , so dass wir eine Funktion namens verwenden Schwimmer bekommen, die wie get int, bekommt ein Anzahl der Benutzer, aber diesmal Fließkommazahl - ein mit einem Komma. Lassen Sie enthalten auch Standard io.h so dass wir Zugang zu haben Funktionen wie Druck f. Und lassen Sie uns erklären, auch Haupt in der üblichen Weise. Lassen Sie den Benutzer zur nächsten Eingabeaufforderung eine Temperatur in Fahrenheit. Lassen Sie uns nun tatsächlich bekommen, dass die Temperatur von dem Benutzer, zuerst durch Deklaration einer Variablen namens f vom Typ float. Ein Schwimmer, wieder, was bedeutet, dass eine Variable speichert einen Fließkommawert, eine mit einem Komma. Lassen Sie uns die Rückkehr zuweisen Wert von get float. Und dann machen wir ein bisschen Arithmetik darauf zunächst eine andere Schwimmer erklärt Namen C für Celsius und Speicher in der C Ergebnis einer gemeinsamen Arithmetik. 5,0 geteilt durch 9,0 mal F minus 32,0. Lassen Sie uns nun das Ergebnis drucken dieser Berechnung. Prozent f - bedeutet einen Platzhalter für Fließkommawert - Komma C zum Ausdrucken der Temperatur in Celsius. Retten wir meine letzte. Kompilieren mit F bis C. Führen Sie das Programm mit Punkt Strich F bis C. Und lassen Sie uns versuchen, diese gemeinsamen Temperaturen. 212 Grad Fahrenheit in 100 Grad Celsius. 32 Grad in Fahrenheit 0 Grad in Celsius. Jetzt lässt verfeinern dieses Programm ein wenig nach und nach nicht ganz so viele Druck 0-en nach diesem Dezimalstelle. Um dies zu tun, ich werde zurück zur Linie 11. Und nicht nur angeben Prozent f, Ich werde stattdessen angeben, sagen wir, 0,1 f, f Druck informiert, dass ich nur einen Fließkommawert drucken möchten , um einen Wert nach dem Komma. Lassen Sie uns erneut speichern meinem Programm. Kompilieren Sie es mit Make F bis C. Dann erneut mit Punktstrich F bis C. Und Lassen Sie uns mit, sagen wir, 212 versuchen, das gibt mir 100,0. Jetzt ist es erwähnenswert, dass ich etwas sehr bewusst in Zeile 9. Beachten Sie, wie ich schrieb, 5 5,0, 9 als 9,0, und sogar 32 als 32,0. Nun, die beiden erstgenannten Werte waren ganz bewusst gewählt, Fließkommawerte, nicht nur, weil Konsistenz mit dem Rest von meinem Programm - denen eindeutig um schwimm Punktwerte - aber weil es sich herausstellt, dass C, wenn Sie teilen ein int int von einem anderen, der resultierende Antwort, die Sie bekommen werden ist selbst ein int, auch wenn das bedeutet, dass alles wegwerfen, was nach dem Komma. In anderen Worten, wenn ich dieses ändern 5,0 bis 5 oder diese 9,0-9 und dann erneut speichern mein Programm, kompilieren mit make F bis C, und dann wieder laufen lassen mit Punkt F Schrägstrich zu C und Typ in einem Eingang wie 212, feststellen, dass die Antwort, die ich zu gehen Holen Sie sich diese Zeit ist eigentlich ganz falsch. 0.0 ist nicht der richtige Abschluss in Celsius als 212 Fahrenheit. Nun, was ist los? Nun, in der Linie 9, 5, da ist jetzt eine integer und weil 9 ist nun eine ganze Zahl, die mathematisch durch sollte 0,5555 usw. betragen. Aber weil das Ergebnis nach C-Regeln, muss ein int sein, dass 0,5555 wird weggeworfen, was uns mit nur 0. Also am Ende, habe ich am Ende multipliziert ganz zufällig f 0 mal minus 32,0, die, egal was ist immer geht mir 0 zu geben. Also im Auge zu behalten, zu jeder Zeit mit Fließkommawerte in der Nähe der ints, die Sie nicht unbedingt Macht die Antwort bekommen, so dass Sie erwarten können. Und so kümmern zu bedienen, wie ich in der tat ersten Fall Gleitkomma-Werte ganz, um solche Probleme zu vermeiden.