1 00:00:00,000 --> 00:00:02,360 >> DAVID J. MALAN: Wie Sie wahrscheinlich wissen, Temperaturen werden unter Verwendung 2 00:00:02,360 --> 00:00:04,360 verschiedenen Skalen in verschiedenen Teilen der Welt. 3 00:00:04,360 --> 00:00:09,370 Zum Beispiel ist 212 Grad Fahrenheit 100 Grad Celsius und 32 Grad 4 00:00:09,370 --> 00:00:11,810 Fahrenheit 0 Grad Celsius. 5 00:00:11,810 --> 00:00:14,230 Wäre es nicht schön, wenn wir einen Computer Programm, das uns erlaubt 6 00:00:14,230 --> 00:00:16,950 konvertieren von, sagen wir, Fahrenheit in Celsius? 7 00:00:16,950 --> 00:00:18,510 >> Nun, wir können dieses Programm zu schreiben. 8 00:00:18,510 --> 00:00:24,350 Lassen Sie uns zunächst mit umfassen cs50.h starten, , so dass wir eine Funktion namens verwenden 9 00:00:24,350 --> 00:00:28,610 Schwimmer bekommen, die wie get int, bekommt ein Anzahl der Benutzer, aber diesmal 10 00:00:28,610 --> 00:00:31,440 Fließkommazahl - ein mit einem Komma. 11 00:00:31,440 --> 00:00:34,840 >> Lassen Sie enthalten auch Standard io.h so dass wir Zugang zu haben 12 00:00:34,840 --> 00:00:36,230 Funktionen wie Druck f. 13 00:00:36,230 --> 00:00:40,000 Und lassen Sie uns erklären, auch Haupt in der üblichen Weise. 14 00:00:40,000 --> 00:00:42,675 >> Lassen Sie den Benutzer zur nächsten Eingabeaufforderung eine Temperatur in Fahrenheit. 15 00:00:42,675 --> 00:00:46,050 16 00:00:46,050 --> 00:00:49,220 Lassen Sie uns nun tatsächlich bekommen, dass die Temperatur von dem Benutzer, zuerst durch 17 00:00:49,220 --> 00:00:52,910 Deklaration einer Variablen namens f vom Typ float. 18 00:00:52,910 --> 00:00:56,750 Ein Schwimmer, wieder, was bedeutet, dass eine Variable speichert einen Fließkommawert, 19 00:00:56,750 --> 00:00:58,200 eine mit einem Komma. 20 00:00:58,200 --> 00:01:01,780 >> Lassen Sie uns die Rückkehr zuweisen Wert von get float. 21 00:01:01,780 --> 00:01:06,080 Und dann machen wir ein bisschen Arithmetik darauf zunächst eine andere Schwimmer erklärt 22 00:01:06,080 --> 00:01:11,690 Namen C für Celsius und Speicher in der C Ergebnis einer gemeinsamen Arithmetik. 23 00:01:11,690 --> 00:01:19,060 5,0 geteilt durch 9,0 mal F minus 32,0. 24 00:01:19,060 --> 00:01:23,440 >> Lassen Sie uns nun das Ergebnis drucken dieser Berechnung. 25 00:01:23,440 --> 00:01:24,730 Prozent f - 26 00:01:24,730 --> 00:01:27,890 bedeutet einen Platzhalter für Fließkommawert - 27 00:01:27,890 --> 00:01:31,680 Komma C zum Ausdrucken der Temperatur in Celsius. 28 00:01:31,680 --> 00:01:33,000 Retten wir meine letzte. 29 00:01:33,000 --> 00:01:38,220 Kompilieren mit F bis C. Führen Sie das Programm mit Punkt Strich F bis C. 30 00:01:38,220 --> 00:01:39,940 >> Und lassen Sie uns versuchen, diese gemeinsamen Temperaturen. 31 00:01:39,940 --> 00:01:45,820 212 Grad Fahrenheit in 100 Grad Celsius. 32 00:01:45,820 --> 00:01:50,090 32 Grad in Fahrenheit 0 Grad in Celsius. 33 00:01:50,090 --> 00:01:54,240 >> Jetzt lässt verfeinern dieses Programm ein wenig nach und nach nicht ganz so viele Druck 0-en 34 00:01:54,240 --> 00:01:55,820 nach diesem Dezimalstelle. 35 00:01:55,820 --> 00:01:57,940 Um dies zu tun, ich werde zurück zur Linie 11. 36 00:01:57,940 --> 00:02:03,430 Und nicht nur angeben Prozent f, Ich werde stattdessen angeben, sagen wir, 37 00:02:03,430 --> 00:02:08,800 0,1 f, f Druck informiert, dass ich nur einen Fließkommawert drucken möchten 38 00:02:08,800 --> 00:02:11,750 , um einen Wert nach dem Komma. 39 00:02:11,750 --> 00:02:13,630 >> Lassen Sie uns erneut speichern meinem Programm. 40 00:02:13,630 --> 00:02:19,680 Kompilieren Sie es mit Make F bis C. Dann erneut mit Punktstrich F bis C. Und 41 00:02:19,680 --> 00:02:24,910 Lassen Sie uns mit, sagen wir, 212 versuchen, das gibt mir 100,0. 42 00:02:24,910 --> 00:02:28,360 >> Jetzt ist es erwähnenswert, dass ich etwas sehr bewusst in Zeile 9. 43 00:02:28,360 --> 00:02:35,830 Beachten Sie, wie ich schrieb, 5 5,0, 9 als 9,0, und sogar 32 als 32,0. 44 00:02:35,830 --> 00:02:39,000 Nun, die beiden erstgenannten Werte waren ganz bewusst gewählt, 45 00:02:39,000 --> 00:02:42,200 Fließkommawerte, nicht nur, weil Konsistenz mit dem Rest 46 00:02:42,200 --> 00:02:42,940 von meinem Programm - 47 00:02:42,940 --> 00:02:45,110 denen eindeutig um schwimm Punktwerte - 48 00:02:45,110 --> 00:02:50,210 aber weil es sich herausstellt, dass C, wenn Sie teilen ein int int von einem anderen, der 49 00:02:50,210 --> 00:02:54,350 resultierende Antwort, die Sie bekommen werden ist selbst ein int, auch wenn das bedeutet, 50 00:02:54,350 --> 00:02:57,450 dass alles wegwerfen, was nach dem Komma. 51 00:02:57,450 --> 00:03:04,990 >> In anderen Worten, wenn ich dieses ändern 5,0 bis 5 oder diese 9,0-9 und dann erneut speichern 52 00:03:04,990 --> 00:03:10,550 mein Programm, kompilieren mit make F bis C, und dann wieder laufen lassen mit Punkt F Schrägstrich 53 00:03:10,550 --> 00:03:15,310 zu C und Typ in einem Eingang wie 212, feststellen, dass die Antwort, die ich zu gehen 54 00:03:15,310 --> 00:03:17,860 Holen Sie sich diese Zeit ist eigentlich ganz falsch. 55 00:03:17,860 --> 00:03:23,570 0.0 ist nicht der richtige Abschluss in Celsius als 212 Fahrenheit. 56 00:03:23,570 --> 00:03:24,500 >> Nun, was ist los? 57 00:03:24,500 --> 00:03:29,410 Nun, in der Linie 9, 5, da ist jetzt eine integer und weil 9 ist nun eine 58 00:03:29,410 --> 00:03:34,810 ganze Zahl, die mathematisch durch sollte 0,5555 usw. betragen. 59 00:03:34,810 --> 00:03:39,120 Aber weil das Ergebnis nach C-Regeln, muss ein int sein, dass 60 00:03:39,120 --> 00:03:44,020 0,5555 wird weggeworfen, was uns mit nur 0. 61 00:03:44,020 --> 00:03:48,600 >> Also am Ende, habe ich am Ende multipliziert ganz zufällig f 0 mal minus 62 00:03:48,600 --> 00:03:52,830 32,0, die, egal was ist immer geht mir 0 zu geben. 63 00:03:52,830 --> 00:03:56,930 Also im Auge zu behalten, zu jeder Zeit mit Fließkommawerte in der Nähe der 64 00:03:56,930 --> 00:03:59,860 ints, die Sie nicht unbedingt Macht die Antwort bekommen, so dass Sie erwarten können. 65 00:03:59,860 --> 00:04:04,220 Und so kümmern zu bedienen, wie ich in der tat ersten Fall Gleitkomma-Werte 66 00:04:04,220 --> 00:04:06,530 ganz, um solche Probleme zu vermeiden. 67 00:04:06,530 --> 00:04:08,267