>> 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.