1 00:00:01,984 --> 00:00:07,450 [Powered by Google Translate] [ELECTRONIC STATIC SOUNDS] 2 00:00:07,450 --> 00:00:11,320 ROB: Okay, so, was wir gerade brachte Sie ist CS50 Spaces. 3 00:00:11,320 --> 00:00:12,325 ALI: Warten, warten wieder auf. 4 00:00:12,325 --> 00:00:13,175 Willkommen in Abschnitt! 5 00:00:13,175 --> 00:00:13,860 ROB: Willkommen in Abschnitt! 6 00:00:13,860 --> 00:00:14,742 ALI: Yay! 7 00:00:14,742 --> 00:00:16,840 ROB: Oberabschnitt! 8 00:00:16,840 --> 00:00:18,610 ALI: Ich bin Ali, und das ist Rob. 9 00:00:18,610 --> 00:00:20,680 Okay, jetzt werden wir erklären, Spaces. 10 00:00:20,680 --> 00:00:23,650 ROB: Also, was wir nur brachte Sie ist CS50 Spaces. 11 00:00:23,650 --> 00:00:29,260 Sie werden mit dieser eine Menge in Ihrem Abschnitten in diesem Semester. 12 00:00:29,260 --> 00:00:32,110 Grundsätzlich haben wir schon laden Sie das Gerät aus. 13 00:00:32,110 --> 00:00:38,630 Und Sie können von CS50 Räume als ein Web-Interface im Gespräch mit einem Gerät, dass 14 00:00:38,630 --> 00:00:40,670 dass wir auf einem Server irgendwo. 15 00:00:40,670 --> 00:00:42,990 So können Sie Ihren Code in diese Schnittstelle laufen, und wir werden 16 00:00:42,990 --> 00:00:44,180 sehen, wie Dinge zu tun. 17 00:00:44,180 --> 00:00:48,200 Sie können auch auf den Code von anderen Leuten im Abschnitt sehen, und - 18 00:00:48,200 --> 00:00:51,920 ALI: Und wie manche Leute herausgefunden haben, können Sie die Menschen auf der Seite unterhalten. 19 00:00:51,920 --> 00:00:54,230 Und wir alle sehen es auch so, das ist spannend. 20 00:00:54,230 --> 00:00:55,655 Komm rein, komm und setz. 21 00:00:55,655 --> 00:00:57,060 Nehmen Sie Platz. 22 00:00:57,060 --> 00:00:57,840 >> ROB: So, sind Abschnitte - 23 00:00:57,840 --> 00:00:59,380 ALI: Nein, nein, ihr Jungs kommen kann. 24 00:00:59,380 --> 00:01:03,356 ROB: Abschnitte sein werden viel interaktiver diesem Semester. 25 00:01:03,356 --> 00:01:04,180 ALI: Oh, er ist wie - 26 00:01:04,180 --> 00:01:05,840 Oh. 27 00:01:05,840 --> 00:01:07,530 Okay, cool. 28 00:01:07,530 --> 00:01:15,630 Also, wenn euch nur kommen in, können Sie auf diesen Link gehen, wenn ich bekommen kann 29 00:01:15,630 --> 00:01:20,190 dort, genau dort. 30 00:01:20,190 --> 00:01:22,780 Wir können nicht wirklich schreiben, weil es nicht Platz auf der Leiterplatte, aber dieser Link 31 00:01:22,780 --> 00:01:27,160 hier, um die auf Ihrem Computer gehen, und du wirst CS50 geben 32 00:01:27,160 --> 00:01:29,810 Räume, die eine ziemlich coole Sache ist. 33 00:01:32,460 --> 00:01:33,830 Okay. 34 00:01:33,830 --> 00:01:35,370 Haben Sie ein Problem? 35 00:01:35,370 --> 00:01:39,930 ROB: So können Sie die Probleme zu finden - 36 00:01:39,930 --> 00:01:42,720 Wir müssen in der Lage sein, diese irgendwo zu schreiben. 37 00:01:42,720 --> 00:01:50,040 Also, wenn Sie cs50.net/psets gehen und dies ist der Hacker Oberabschnitt - 38 00:01:50,040 --> 00:01:55,870 und Sie in die Hacker Edition von pset ein zu gehen, bei der Spezifikation aussehen 39 00:01:55,870 --> 00:01:57,620 irgendwo unten auf Seite - 40 00:02:01,940 --> 00:02:04,280 >> ALI: Also im Grunde, während Rob suchen, was wir in zu tun 41 00:02:04,280 --> 00:02:06,650 Abschnitt heute gibt es einen Abschnitt von Problemen - 42 00:02:06,650 --> 00:02:07,600 ROB: - auf Seite acht. 43 00:02:07,600 --> 00:02:09,300 ALI: - genannt ein Abschnitt von Problemen - 44 00:02:09,300 --> 00:02:10,280 ROB: Section Fragen. 45 00:02:10,280 --> 00:02:11,630 ALI: Sorry, ein Teil der Fragen. 46 00:02:11,630 --> 00:02:14,450 Und das sind, was wir gehen über - 47 00:02:14,450 --> 00:02:16,370 das sind, was wir gehen über heute im Schnitt. 48 00:02:16,370 --> 00:02:20,010 Und wir werden es auf CS50 Spaces codieren, und hoffentlich das funktionieren wird. 49 00:02:20,010 --> 00:02:22,210 Und wir können nur durch sie zu sprechen. 50 00:02:22,210 --> 00:02:24,510 Und euch kann Fragen stellen, wenn Sie das Gefühl - 51 00:02:24,510 --> 00:02:27,890 >> ROB: Also das ist immer eine gemeinsame Sache mit den meisten pset sein. 52 00:02:27,890 --> 00:02:31,000 Ich denke, mit diesem ein, so dass Sie nicht haben, um diese Fragen zu übergeben in. 53 00:02:31,000 --> 00:02:36,780 Aber die Idee ist, dass diese Fragen auf der pset gestellt werden, und Sie können kommen 54 00:02:36,780 --> 00:02:39,790 § diese Fragen beantwortet haben. 55 00:02:39,790 --> 00:02:42,730 Oder wenn Sie nicht im Abschnitt nicht kommen, können Sie sie auf Ihrem eigenen zu beantworten oder zu erhalten 56 00:02:42,730 --> 00:02:44,250 Hilfe bei der Bürozeiten oder so etwas. 57 00:02:44,250 --> 00:02:47,540 Aber das sind Fragen, die angeblich prep Sie für das Problem gesetzt sind. 58 00:02:47,540 --> 00:02:50,910 Und auf der Hacker-Ausgabe, könnte eine Menge der Fragen nur sein, zu 59 00:02:50,910 --> 00:02:54,170 Erweiterung Ihrer aktuellen CS Wissen. 60 00:02:54,170 --> 00:02:55,370 ALI: Yep, ziemlich viel. 61 00:02:55,370 --> 00:02:57,950 >> Okay, ja, jeder ist auf CS50 Spaces? 62 00:02:57,950 --> 00:02:59,457 Hallo, kommen Sie herein 63 00:02:59,457 --> 00:03:00,828 Sprecher 1: Können wir die URL ein weiteres Mal? 64 00:03:04,030 --> 00:03:07,000 Rob: Ja, das wird einfacher sein, wenn Sie tatsächlich in Ihrem Abschnitte sind, und 65 00:03:07,000 --> 00:03:10,760 Ihre TF kann nur senden Ihnen die URL vorher. 66 00:03:10,760 --> 00:03:11,870 ALI: Yay, nehmen Sie Platz. 67 00:03:11,870 --> 00:03:13,170 Es gibt Sitze hier. 68 00:03:13,170 --> 00:03:14,420 Die Front ist nicht so schlimm. 69 00:03:17,112 --> 00:03:18,362 Was? 70 00:03:20,650 --> 00:03:23,590 Also, CS50 Spaces, wir bekommen es. 71 00:03:23,590 --> 00:03:26,760 Hat jemand irgendwelche Fragen, bevor wir in zu bekommen - was? 72 00:03:26,760 --> 00:03:28,060 ROB: Es gibt nicht einmal Kreide. 73 00:03:28,060 --> 00:03:29,270 [Unverständlich] 74 00:03:29,270 --> 00:03:31,540 ALI: Sorry. 75 00:03:31,540 --> 00:03:32,950 Sie könnten Ihre Fingernägel? 76 00:03:32,950 --> 00:03:38,210 Wir sind in einer sehr low-tech Raum für eine sehr High-Tech-Klasse. 77 00:03:38,210 --> 00:03:40,795 Okay, ist jeder Art von gut? 78 00:03:40,795 --> 00:03:44,310 Hat jemand noch Fragen zu diesem Thema? 79 00:03:44,310 --> 00:03:48,540 Wie ich schon sagte, werden wir durch den Abschnitt von Fragen gehen 80 00:03:48,540 --> 00:03:51,340 die pset Spezifikationen. 81 00:03:51,340 --> 00:03:53,490 So gibt es nur ein paar Probleme, die wir zu gehen 82 00:03:53,490 --> 00:03:57,490 Code bis in CS50 Spaces. 83 00:03:57,490 --> 00:03:58,740 Ist jeder gut? 84 00:04:01,010 --> 00:04:01,360 Okay. 85 00:04:01,360 --> 00:04:02,312 Good? 86 00:04:02,312 --> 00:04:04,260 ROB: Haben Sie einen Laptop? 87 00:04:04,260 --> 00:04:05,150 ALI: Sie können hängen mit Lucas. 88 00:04:05,150 --> 00:04:06,960 Er hat recht neben Ihnen sitzt. 89 00:04:06,960 --> 00:04:10,030 Bindung Zeit. 90 00:04:10,030 --> 00:04:10,990 >> ROB: Also, mit dem ersten Problem zu starten? 91 00:04:10,990 --> 00:04:11,260 ALI: Ja. 92 00:04:11,260 --> 00:04:11,820 Wir können starten. 93 00:04:11,820 --> 00:04:12,390 Willst du mich - 94 00:04:12,390 --> 00:04:13,700 Ich kann gehen. 95 00:04:13,700 --> 00:04:16,666 Also, wir zu den pset specs gehen. 96 00:04:16,666 --> 00:04:17,640 Oh, warum ist es - 97 00:04:17,640 --> 00:04:18,890 ROB: Control. 98 00:04:21,769 --> 00:04:25,770 ALI: Okay, so werden wir in Antworten auf diese Dinge so gut? 99 00:04:25,770 --> 00:04:26,190 ROB: Oh, yeah. 100 00:04:26,190 --> 00:04:27,280 So - 101 00:04:27,280 --> 00:04:29,675 ALI: Oh, tat jeder Uhr Robs mit Shorts? 102 00:04:32,430 --> 00:04:33,360 Okay, cool. 103 00:04:33,360 --> 00:04:36,870 ROB: Yeah, ich glaube nicht, wir unbedingt erwartet Sie zu haben 104 00:04:36,870 --> 00:04:40,650 sah es, bevor er nach diesem Abschnitt, aber wir können die zu diskutieren 105 00:04:40,650 --> 00:04:43,870 Probleme bereits im Vorfeld, da sie unter dem Abschnitt von Fragen Dinge sind. 106 00:04:43,870 --> 00:04:46,480 Also, wenn Sie es nicht beobachtet haben, keine Sorge. 107 00:04:46,480 --> 00:04:48,630 Diejenigen, die versuchen können, und beantworten. 108 00:04:48,630 --> 00:04:53,875 >> So ist die erste Frage, was ist ein Pre-Prozessor, wie funktioniert # include 109 00:04:53,875 --> 00:04:56,080 beziehen? 110 00:04:56,080 --> 00:04:58,440 So hat jemand Antwort darauf? 111 00:04:58,440 --> 00:04:59,320 ALI: You guys sprechen es aus. 112 00:04:59,320 --> 00:05:00,308 Sure, go ahead. 113 00:05:00,308 --> 00:05:03,766 SPEAKER 2: # include gibt einige bereits geschriebenen Code, und statt 114 00:05:03,766 --> 00:05:08,706 Kopieren und Einfügen in Ihr Programm, indem man einfach sagen gehört es, 115 00:05:08,706 --> 00:05:14,140 Die Pre-Prozessor weiß, dass es sie gibt und dass sie es in hinzuzufügen 116 00:05:14,140 --> 00:05:17,520 später oder bevor irgendetwas anderes passiert. 117 00:05:17,520 --> 00:05:18,466 ALI: Yeah, awesome. 118 00:05:18,466 --> 00:05:19,440 Cool. 119 00:05:19,440 --> 00:05:23,820 ROB: Also, wenn Sie tatsächlich das Kompilieren eines Programms, ist die Pre-Prozessor diese 120 00:05:23,820 --> 00:05:25,230 erster Schritt. 121 00:05:25,230 --> 00:05:27,620 Compilation geschieht in vier großen Schritten. 122 00:05:27,620 --> 00:05:31,120 So ist die Pre-Prozessor ist das erste große, und es ist dieser Kerl, der geht 123 00:05:31,120 --> 00:05:33,510 durch und sieht für alle diese Hash Symbole. 124 00:05:33,510 --> 00:05:36,610 Und jeder Zeile, die mit einer Hash beginnt, sieht der Vorprozessor es an und sieht 125 00:05:36,610 --> 00:05:37,880 wenn sie zu verarbeiten. 126 00:05:37,880 --> 00:05:43,800 So # include erzählt die Pre-Prozessor für einige cs50.h aussehen 127 00:05:43,800 --> 00:05:47,830 Datei und kopieren Sie einfach und fügen Sie den Inhalt in dieser Datei. 128 00:05:47,830 --> 00:05:50,970 So kann man wirklich # include, was Sie wollen, aber es ist vor allem sein wird 129 00:05:50,970 --> 00:05:53,700 . H-Dateien. 130 00:05:53,700 --> 00:05:55,820 Wir haben nicht bekommen, um # noch zu definieren, so dass keine Rolle. 131 00:05:55,820 --> 00:05:57,620 ALI: Ja, wir sind gut auf, dass man. 132 00:05:57,620 --> 00:05:59,450 Hat jemand irgendwelche Fragen dazu? 133 00:05:59,450 --> 00:06:01,090 Sind wir gut? 134 00:06:01,090 --> 00:06:02,430 Nächste Frage. 135 00:06:02,430 --> 00:06:07,096 >> SPEAKER 3: In der kurzen, es war etwas über c als gut.? 136 00:06:07,096 --> 00:06:09,110 Ist das relevant oder ist es irrelevant? 137 00:06:09,110 --> 00:06:11,210 ROB: Über c mit dem Pre-Prozessor.? 138 00:06:11,210 --> 00:06:13,990 SPEAKER 3: Ja, oder habe ich etwas ausdenken? 139 00:06:13,990 --> 00:06:18,290 ROB: So die kurze worden sein könnten, welche vor der Verarbeitung dieser Datei und 140 00:06:18,290 --> 00:06:24,240 . Ausgabe an einem anderen C-Datei, so können Sie vorab diese Datei verarbeiten - 141 00:06:24,240 --> 00:06:30,000 wenn Sie gerade laufen wie machen hallo oder clang hello.c, tust du das alles 142 00:06:30,000 --> 00:06:31,730 die Zusammenstellung in einem großen Schritt. 143 00:06:31,730 --> 00:06:34,780 Aber man kann explizit tun es in seine einzelnen Schritte. 144 00:06:34,780 --> 00:06:36,950 So kann man zuerst vor-verarbeiten. 145 00:06:36,950 --> 00:06:42,260 Dann können Sie kompilieren, dann können Sie montieren, und dann können Sie zu verknüpfen. 146 00:06:42,260 --> 00:06:43,620 Wir werden zu diesen anderen diejenigen bekommen. 147 00:06:43,620 --> 00:06:47,410 Aber Pre-Processing, Sie Art Pre-Prozess, und dann geht es in 148 00:06:47,410 --> 00:06:49,270 anderen. c-Datei. 149 00:06:49,270 --> 00:06:51,430 Da Pre-Processing nicht wirklich etwas ändern. 150 00:06:51,430 --> 00:06:52,800 Es ist nur ein Haufen von kopieren und einfügen. 151 00:06:52,800 --> 00:06:56,760 Sie können manuell kopieren und fügen Sie es selber. 152 00:06:56,760 --> 00:06:59,630 ALI:. Und klar zu sein, die c-Datei eine C-Datei ist, so ist es 153 00:06:59,630 --> 00:07:00,930 geschrieben in C-Code. 154 00:07:00,930 --> 00:07:03,300 Es ist also aus C-Code in C-Code geht. 155 00:07:03,300 --> 00:07:05,210 Du bist nur das Hinzufügen von mehr Code mit dem Pfund. 156 00:07:05,210 --> 00:07:08,575 ROB: Wenn Sie es vorverarbeitet, ist es immer noch eine gültige C-Datei. 157 00:07:08,575 --> 00:07:09,940 SPEAKER 3: Okay. 158 00:07:09,940 --> 00:07:10,540 ALI: Gute Frage. 159 00:07:10,540 --> 00:07:11,370 Ich mag diese. 160 00:07:11,370 --> 00:07:12,755 Okay, nächste Frage. 161 00:07:17,870 --> 00:07:19,660 >> Was ist der Compiler? 162 00:07:19,660 --> 00:07:20,824 Anyone? 163 00:07:20,824 --> 00:07:21,286 Ja. 164 00:07:21,286 --> 00:07:24,650 SPEAKER 4: Es ändert die vorbearbeitete Code in der Montage. 165 00:07:24,650 --> 00:07:25,110 ALI: Perfect. 166 00:07:25,110 --> 00:07:25,390 ROB: Ja. 167 00:07:25,390 --> 00:07:25,720 ALI: Cool. 168 00:07:25,720 --> 00:07:28,270 ROB: Also das ist, was der Compiler ist speziell tut 169 00:07:28,270 --> 00:07:30,740 wenn wir mit Clang. 170 00:07:30,740 --> 00:07:35,100 In einem sehr allgemeinen Sinn, ist ein Compiler wie unter Code in einer Sprache 171 00:07:35,100 --> 00:07:37,070 und verwandelte sie in eine andere Sprache. 172 00:07:37,070 --> 00:07:38,370 Also in C - 173 00:07:38,370 --> 00:07:43,750 oder, na ja, ist Clang unter Code, das ist in C und Umwandlung bis zur Montage. 174 00:07:43,750 --> 00:07:46,560 Und Sie müssen nicht in der Lage sein, um die Montage überhaupt zu verstehen. 175 00:07:46,560 --> 00:07:49,830 Aber das ist die Sprache, die es verwandelte sie in. 176 00:07:49,830 --> 00:07:50,230 >> ALI: Okay. 177 00:07:50,230 --> 00:07:52,920 Und dann, was ist ein Assembler? 178 00:07:52,920 --> 00:07:54,270 Anyone? 179 00:07:54,270 --> 00:07:56,810 SPEAKER 5: [unverständlich], um binäre? 180 00:07:56,810 --> 00:07:57,260 ALI: Sorry, was? 181 00:07:57,260 --> 00:07:58,760 SPEAKER 5: [unverständlich], um binäre? 182 00:07:58,760 --> 00:07:59,260 ROB: Yep. 183 00:07:59,260 --> 00:07:59,880 ALI: Ja. 184 00:07:59,880 --> 00:08:01,960 ROB: So der Assembler - 185 00:08:01,960 --> 00:08:05,830 Assembler-Code ist wirklich, wirklich, was Ihr Computer verstehen kann schließen, 186 00:08:05,830 --> 00:08:09,390 aber denken Sie daran, dass es nicht ganz verstehen, den Text 187 00:08:09,390 --> 00:08:10,630 das ist Assembler-Code. 188 00:08:10,630 --> 00:08:14,570 Sie müssen es in gerade 1s und 0s konvertieren. 189 00:08:14,570 --> 00:08:17,000 Es ist wie eine direkte Übersetzung Prozess. 190 00:08:17,000 --> 00:08:19,450 Wir könnten Ihnen nur eine Tabelle, was jeder 191 00:08:19,450 --> 00:08:21,880 Montageanleitung bedeutet. 192 00:08:21,880 --> 00:08:24,340 Aber die Assembler ist gerade dabei diese Übersetzung für Sie. 193 00:08:24,340 --> 00:08:28,790 Es ist die Umwandlung der Assembler-Code in 1s und 0s. 194 00:08:28,790 --> 00:08:30,870 >> ALI: Und dann, für das letzte, was ist ein Linker? 195 00:08:30,870 --> 00:08:35,070 Und wie funktioniert-LCS50 beziehen? 196 00:08:35,070 --> 00:08:37,010 Anyone? 197 00:08:37,010 --> 00:08:41,440 ROB: Das ist die härteste und am wenigsten erklärte ein in der Compiler-Video. 198 00:08:41,440 --> 00:08:48,980 ALI: Hat jemand erinnere mich-LCS50 in einem Befehl? 199 00:08:48,980 --> 00:08:50,690 SPEAKER 6: Wenn Sie zu machen ging. 200 00:08:50,690 --> 00:08:51,980 ALI: Es ist in der machen. 201 00:08:51,980 --> 00:08:55,780 Yeah, cool, okay. 202 00:08:55,780 --> 00:09:02,024 Gibt es irgendwelche Vermutungen oder vage - ja, zu gehen. 203 00:09:02,024 --> 00:09:06,370 SPEAKER 7: Ich bin mir nicht sicher, weil Ihre kurz war wirklich [unverständlich], aber es war 204 00:09:06,370 --> 00:09:12,244 etwas zu tun separate Dateien mit jeder Bibliothek und dann setzen 205 00:09:12,244 --> 00:09:13,620 sie alle zusammen in einer Bibliothek? 206 00:09:13,620 --> 00:09:14,400 ROB: Ja. 207 00:09:14,400 --> 00:09:23,000 Also, wenn Sie hello.c haben, ist es ein wirklich einfaches Programm. 208 00:09:23,000 --> 00:09:25,570 Sie sind wirklich nur eine Sache tut in ihm. 209 00:09:25,570 --> 00:09:27,400 Aber wenn man in andere Programme zu bekommen - 210 00:09:27,400 --> 00:09:31,700 und ich denke, auch wenn Sie in Ihren Programmen GetString, Sie starten müssen 211 00:09:31,700 --> 00:09:33,830 einschließlich anderer Dateien. 212 00:09:33,830 --> 00:09:38,000 Also das CS50-Bibliothek ist eine solche Datei, in denen wir die Implementierungen 213 00:09:38,000 --> 00:09:40,750 der GetString und GetInt und all diese Dinge. 214 00:09:40,750 --> 00:09:45,540 Also, was die Linke tut, ist es geht um Sie durch all diese 215 00:09:45,540 --> 00:09:49,400 Dateien, zu sehen, wo Funktionen definiert werden, um sicherzustellen, dass, wenn ich rufe 216 00:09:49,400 --> 00:09:52,440 GetString irgendwo, es, dass GetString weiß, bedeutet, dass es das ist 217 00:09:52,440 --> 00:09:54,910 GetString über in der CS50-Bibliothek. 218 00:09:54,910 --> 00:09:58,895 So der Linker dauert nur all diese Dateien, zerschlägt sie zusammen, und jetzt 219 00:09:58,895 --> 00:10:01,020 Sie haben eine ausführbare. 220 00:10:01,020 --> 00:10:05,600 So im Hinterkopf behalten, wenn Sie den CS50-Bibliothek sind, können Sie sowohl die Notwendigkeit 221 00:10:05,600 --> 00:10:10,370 # An der Spitze sind, und dann auch in Ihrem Make-Befehl, wie Sie 222 00:10:10,370 --> 00:10:12,630 sagte, du musst die-LCS50 haben. 223 00:10:12,630 --> 00:10:15,720 So können Sie nicht nur ein. 224 00:10:15,720 --> 00:10:18,294 So das ist nur etwas im Auge für späteres Nachschlagen aufzubewahren. 225 00:10:18,294 --> 00:10:22,550 >> SPEAKER 8: Also, lasst uns sagen, es war eine andere Bibliothek, wie cs51.h, würden wir 226 00:10:22,550 --> 00:10:26,780 müssen auch Add-lcs51? 227 00:10:26,780 --> 00:10:32,390 ROB: Der einzige Grund, this-LCS50 funktioniert perfekt ist, weil wir diesen Satz haben 228 00:10:32,390 --> 00:10:35,800 bis an einem bestimmten Ort in Ihre Geräte so, dass sie weiß, was 229 00:10:35,800 --> 00:10:38,550 LCS50-Mittel. 230 00:10:38,550 --> 00:10:43,240 Wir könnten Ihnen nur eine cs50.c Datei, und dann könnte man es übersetzen, sagen 231 00:10:43,240 --> 00:10:49,050 Clang hello.c cs50.c, und dann würde es die ausführbare Datei, indem Sie machen 232 00:10:49,050 --> 00:10:50,350 diese beiden Dateien zusammen. 233 00:10:50,350 --> 00:10:56,520 Er weiß, dass-LCS50 cs50.c über in ein Verzeichnis, dass wir in festgelegten bedeutet, 234 00:10:56,520 --> 00:10:58,350 Ihre Geräte. 235 00:10:58,350 --> 00:11:04,290 Also, wenn Sie wollten eine cs51.c zu sein, indem einfach nur sagen-lcs51 vorgebbaren 236 00:11:04,290 --> 00:11:06,760 dann würden wir auch brauchen, um es in dieses Verzeichnis legen also wo weiß 237 00:11:06,760 --> 00:11:08,636 suchen sie. 238 00:11:08,636 --> 00:11:10,510 ALI: Was war Ihre Frage? 239 00:11:10,510 --> 00:11:13,975 >> SPEAKER 7: Warum haben Sie den CS50 verknüpfen 240 00:11:13,975 --> 00:11:18,940 wenn - wasn't kopieren / einfügen in der ersten Stufe, wenn Sie es vorher bearbeitet? 241 00:11:18,940 --> 00:11:19,700 ALI: Wollen Sie es? 242 00:11:19,700 --> 00:11:20,880 ROB: Sicher. 243 00:11:20,880 --> 00:11:28,028 Also das cs50.h Datei ist getrennt von der cs50.c C-Datei. 244 00:11:28,028 --> 00:11:33,652 Haben Sie bekommen, um Prototypen in der Klasse funktionieren? 245 00:11:33,652 --> 00:11:34,350 Okay. 246 00:11:34,350 --> 00:11:40,255 Also im Grunde ist das cs50.h Datei gerade dabei, kopieren und einfügen - 247 00:11:40,255 --> 00:11:44,040 ALI: Haben Sie Jungs wissen, was Signaturen sind? 248 00:11:44,040 --> 00:11:46,580 Okay, so ziemlich viel, wenn man sich - 249 00:11:46,580 --> 00:11:50,530 ROB: Nehmen wir an, cs50.h ist nicht da. 250 00:11:50,530 --> 00:11:52,960 Nun ist diese Datei - 251 00:11:52,960 --> 00:11:56,090 du tust string s = GetString. 252 00:11:56,090 --> 00:11:59,350 Aber wenn wir zu diesem Punkt im Code bekommen, hat er keine Ahnung, was 253 00:11:59,350 --> 00:12:00,230 GetString ist. 254 00:12:00,230 --> 00:12:02,600 Es weiß, dass es eine Funktion, da Sie nennen es sind. 255 00:12:02,600 --> 00:12:06,500 Aber es bedeutet nicht, dass es eigentlich soll einen String zurückgeben. 256 00:12:06,500 --> 00:12:14,530 So wie ich schon sagte, string s = GetInt, bedeutet dies keinen Sinn, da 257 00:12:14,530 --> 00:12:17,530 Sie unterschreiben eine ganze Zahl in einen String. 258 00:12:17,530 --> 00:12:22,270 Aber es bedeutet nicht, dass GetString keinen Sinn machen, weil es nicht 259 00:12:22,270 --> 00:12:24,380 wissen, dass GetString einen String zurückgibt. 260 00:12:24,380 --> 00:12:28,220 Also, was cs50.h sagt, ist so etwas wie dieses. 261 00:12:33,070 --> 00:12:37,750 ALI: Also, was Rob ist die Eingabe ist, ist es ein Versprechen in einer Weise, dass es zu gehen 262 00:12:37,750 --> 00:12:41,280 haben diese Funktion aufgerufen GetString. 263 00:12:41,280 --> 00:12:45,250 ROB: Das ist alles, cs50.h ist das Kopieren und Einfügen in hier, wie auch 264 00:12:45,250 --> 00:12:47,620 Als GetInt und all diese Dinge. 265 00:12:47,620 --> 00:12:51,520 Und das sagt nur, dass GetString hat einen String zurückgeben. 266 00:12:51,520 --> 00:12:54,830 Sie wissen nicht, wie es noch implementiert ist, aber wenn wir zu dieser Linie, jetzt 267 00:12:54,830 --> 00:12:57,760 sie weiß, dass es richtig eine Zeichenfolge zurückgibt. 268 00:12:57,760 --> 00:13:03,022 >> SPEAKER 9: Also, wenn wir nicht mit der # include Sache und stattdessen die Mühe 269 00:13:03,022 --> 00:13:07,130 schrieb gerade den Prototyp für diejenigen, die wir tatsächlich zu benutzen? 270 00:13:07,130 --> 00:13:07,330 ROB: Yeah. 271 00:13:07,330 --> 00:13:08,870 Also lasst uns laufen diese. 272 00:13:08,870 --> 00:13:09,110 SPEAKER 9: Ist es das? 273 00:13:09,110 --> 00:13:13,670 Also, standardmäßig, würde es den-l CS50, nur weil zu tun -. 274 00:13:13,670 --> 00:13:14,740 ROB: - Ausdruck. 275 00:13:14,740 --> 00:13:19,370 ALI: Ja, denn wie Sie gesagt haben, ist es in der Make-Datei. 276 00:13:19,370 --> 00:13:24,040 ROB: cs50.h zufällig auch typedef char * zu String sein. 277 00:13:24,040 --> 00:13:26,950 Sie können völlig ignorieren, was das jetzt bedeutet. 278 00:13:26,950 --> 00:13:31,430 Aber das ist auch etwas in cs50.h. enthalten 279 00:13:31,430 --> 00:13:34,230 So, jetzt alles funktioniert völlig in Ordnung. 280 00:13:34,230 --> 00:13:40,770 Es läuft genau das gleiche wie damals, als wir hatten war einfach 281 00:13:40,770 --> 00:13:45,120 die # include. 282 00:13:45,120 --> 00:13:49,200 Und so wie cs50.h geschieht über-include Dinge, die Sie brauchen - 283 00:13:49,200 --> 00:13:53,080 wie, verwenden Sie nicht die GetInt in diesem Programm, aber es spielt keine Rolle. 284 00:13:53,080 --> 00:13:55,010 Es wird einfach ignorieren. 285 00:13:55,010 --> 00:14:02,400 ALI: Und dann, wenn Sie die-LCS50 tun hier und hier, was geht 286 00:14:02,400 --> 00:14:05,290 , ist, dass es mit den tatsächlichen umsetzbare Code. 287 00:14:05,290 --> 00:14:07,530 Also das ist, wo es eigentlich tun das - 288 00:14:07,530 --> 00:14:09,090 Schreiben des Codes für GetString. 289 00:14:09,090 --> 00:14:11,180 Es ist also nicht nur ein Versprechen mehr. 290 00:14:11,180 --> 00:14:16,520 Es ist tatsächlich durchlaufen und unter den String und all das Zeug. 291 00:14:16,520 --> 00:14:17,600 Sinn? 292 00:14:17,600 --> 00:14:22,640 Haben Sie Fragen? Gut. 293 00:14:22,640 --> 00:14:24,466 Coole Bohnen. 294 00:14:24,466 --> 00:14:27,630 >> ROB: Jetzt können wir auf eigentliche Code. 295 00:14:27,630 --> 00:14:28,780 ALI: Okay. 296 00:14:28,780 --> 00:14:33,340 So, hier ist das erste Problem. 297 00:14:33,340 --> 00:14:36,910 So heißt es ein Programm schreiben, das den Anwender nach einem Kleinbuchstaben aufgefordert 298 00:14:36,910 --> 00:14:40,540 Brief und wandelt sie dann ohne Verwendung bitweise Großbuchstaben 299 00:14:40,540 --> 00:14:43,590 Operationen, nach der Probe-Ausgang unten. 300 00:14:43,590 --> 00:14:48,780 Damit Sie sehen können, führen Sie das Programm mit. / A.out, und dann bist du 301 00:14:48,780 --> 00:14:53,320 werde in Kleinbuchstaben a setzen, und Ihr Programm sollte aus der Hauptstadt 302 00:14:53,320 --> 00:15:00,590 A. Also, warum nicht you guys all give it a shot am CS50 Spaces? 303 00:15:00,590 --> 00:15:03,360 So you guys können alle hier. 304 00:15:03,360 --> 00:15:06,650 Und Sie können den gesamten Code hier löschen. 305 00:15:06,650 --> 00:15:12,140 Und dann kann man weitermachen und die Kodierung der Sache. 306 00:15:12,140 --> 00:15:14,590 ROB: Sie werden wahrscheinlich wollen GetChar, das ist zu verwenden 307 00:15:14,590 --> 00:15:16,190 enthalten in der CS50-Bibliothek. 308 00:15:16,190 --> 00:15:18,770 ALI: Ich denke, es wäre besser, wenn Sie den oberen Teil zu retten. 309 00:15:21,452 --> 00:15:23,805 So möchten Sie vielleicht ändern Sie einfach das Zeug in der Mitte. 310 00:15:28,710 --> 00:15:29,070 Gehen Sie voran und arbeiten. 311 00:15:29,070 --> 00:15:30,530 Fühlen Sie sich frei, um miteinander zu arbeiten. 312 00:15:30,530 --> 00:15:32,360 Rob: Und Sie können Fragen stellen, wenn Sie - 313 00:15:32,360 --> 00:15:33,450 >> SPEAKER 10: Was ist ein bitweise Operation? 314 00:15:33,450 --> 00:15:35,100 ROB: Also, ignorieren, dass für dieses Problem. 315 00:15:35,100 --> 00:15:36,330 ALI: Wenn Sie es nicht wissen, das ist gut. 316 00:15:36,330 --> 00:15:38,300 ROB: Wir werden es im nächsten Probleme nutzen. 317 00:15:38,300 --> 00:15:40,750 Aber wenn Sie nicht wissen, was ein bitweisen Operator ist, ist das in Ordnung. 318 00:15:40,750 --> 00:15:43,575 SPEAKER 10: Ist das wie Drehen nach ASCII-Code? 319 00:15:43,575 --> 00:15:44,050 ALI: Nein 320 00:15:44,050 --> 00:15:44,750 ROB: Nein 321 00:15:44,750 --> 00:15:46,220 Sie können, dass für dieses Problem zu tun. 322 00:15:46,220 --> 00:15:48,280 SPEAKER 10: Wie machst du das? 323 00:15:48,280 --> 00:15:52,460 Also, wenn ich nur irgendwo zu schreiben - 324 00:15:52,460 --> 00:15:54,670 ALI: Oder etwas zum Schreiben. 325 00:15:54,670 --> 00:15:56,780 ROB: Ich konnte nur eine Art von Typ in diese. 326 00:15:56,780 --> 00:15:59,045 ALI: Typ an der Spitze. 327 00:15:59,045 --> 00:16:01,390 ROB: Oh, ich bin auf einem mic sitzen. 328 00:16:01,390 --> 00:16:10,860 >> So sahen wir in der Vorlesung, dass die ASCII-Wert für das Kapital A 65 ist. 329 00:16:10,860 --> 00:16:13,670 Und Kapital B wird 66 sein, und so weiter. 330 00:16:13,670 --> 00:16:20,860 So können Sie buchstäblich mit 'A', die Zahl 65 bedeutet. 331 00:16:20,860 --> 00:16:24,600 Möchten, ist dies der Wert 65. 332 00:16:24,600 --> 00:16:30,950 'A' - ich kann so etwas wie int x = 100 zu tun. Und nun x hat den Wert 333 00:16:30,950 --> 00:16:33,810 100 bis 65. 334 00:16:33,810 --> 00:16:36,708 ALI: Sie können das und zeigen, dass. 335 00:16:36,708 --> 00:16:38,420 Oh, vielleicht auch nicht. 336 00:16:38,420 --> 00:16:38,600 Das macht nichts. 337 00:16:38,600 --> 00:16:40,970 ROB: Ich hatte sie zu drucken. 338 00:16:40,970 --> 00:16:43,730 SPEAKER 10: Wie machen Sie es zurück zu Charakter? 339 00:16:43,730 --> 00:16:46,800 ALI: Also, wenn Sie tun nicht - 340 00:16:46,800 --> 00:16:51,450 Sie nur mit Gewalt zu char A sein, entspricht. 341 00:16:51,450 --> 00:16:53,630 ROB: So gibt es ein - 342 00:16:53,630 --> 00:16:58,440 die Unterscheidung zwischen einem char und einer ganzen Zahl ist nur in Bezug auf Größe. 343 00:16:58,440 --> 00:17:01,230 So eine ganze Zahl passiert in der Lage sein, Dinge zu machen bis 344 00:17:01,230 --> 00:17:02,600 zu, wie vier Milliarden Euro. 345 00:17:02,600 --> 00:17:05,839 Ein Zeichen ist nur in der Lage, Dinge zu machen bis zu 255. 346 00:17:05,839 --> 00:17:08,390 Aber es gibt keinen Unterschied zwischen ihnen andere als diese. 347 00:17:08,390 --> 00:17:12,339 So kann man sagen, char c = 65. 348 00:17:12,339 --> 00:17:24,204 Das ist gleichbedeutend mit der Aussage char c gleich 'A'. 349 00:17:24,204 --> 00:17:25,210 ALI: Oh, nein. 350 00:17:25,210 --> 00:17:26,710 Es ist nicht wirklich sparen Dinge. 351 00:17:26,710 --> 00:17:28,130 ROB: Nein, Sie können das nicht tun. 352 00:17:28,130 --> 00:17:31,610 ALI: Das ist nur - 353 00:17:31,610 --> 00:17:34,920 [Stöhnt] 354 00:17:34,920 --> 00:17:40,700 >> ROB: Okay, so was Ali gerade schrieb, war ein Programm, das erste druckt 100 - 355 00:17:40,700 --> 00:17:46,290 'A' als ganze Zahl, die 35 war, wie wir es erwarten, weil 100 minus das ASCII- 356 00:17:46,290 --> 00:17:48,580 Wert von A beträgt 65 Jahre. 357 00:17:48,580 --> 00:17:54,100 Dann ausgedruckt mit% c, die zu interpretieren es als ein Zeichen bedeutet. 358 00:17:54,100 --> 00:17:57,050 Also 100 - eine ist 35. 359 00:17:57,050 --> 00:18:00,990 Dolmetschen, dass als Zeichen geschieht, die Raute sein. 360 00:18:00,990 --> 00:18:06,160 Wenn Sie an asciitable.com oder was auch immer anschauen, werden Sie sehen, dass 35 ist das 361 00:18:06,160 --> 00:18:07,410 Raute. 362 00:18:09,940 --> 00:18:12,700 ALI: Okay, alle anderen Klarstellungen über das Problem? 363 00:18:16,000 --> 00:18:18,180 Okay, kann euch voran gehen und tun es dann. 364 00:18:18,180 --> 00:18:20,330 Fühlen Sie sich frei, um Fragen zu stellen oder miteinander reden. 365 00:18:20,330 --> 00:18:24,390 Oder wenn Sie bereits erledigt haben, können Sie sich entspannen. 366 00:18:24,390 --> 00:18:29,640 >> LUCAS: Sind sie der gleichen Klasse, alle Kleinbuchstaben in Ordnung und 367 00:18:29,640 --> 00:18:32,923 auch die Großbuchstaben sind auch in Ordnung, denn das ist etwas Nützliches für 368 00:18:32,923 --> 00:18:33,990 das Problem. 369 00:18:33,990 --> 00:18:35,620 ALI: Guter Punkt, Lucas. 370 00:18:35,620 --> 00:18:37,430 Also, habt ihr all das bekommen? 371 00:18:37,430 --> 00:18:37,640 SPEAKER 11: Ja. 372 00:18:37,640 --> 00:18:39,535 Das ist, wie Sie es tun, nicht wahr? 373 00:18:39,535 --> 00:18:39,960 ALI: Richtig. 374 00:18:39,960 --> 00:18:40,415 ROB: Yeah. 375 00:18:40,415 --> 00:18:47,270 SPEAKER 11: [unverständlich] 376 00:18:47,270 --> 00:18:48,330 ALI: All right. 377 00:18:48,330 --> 00:18:49,350 ROB: Was ist die Frage zu fragen? 378 00:18:49,350 --> 00:18:50,590 Nur zu konvertieren - 379 00:18:50,590 --> 00:18:52,560 ALI: Konvertieren Sie die Kleinbuchstaben der Großbuchstaben. 380 00:18:52,560 --> 00:18:53,100 Das war's. 381 00:18:53,100 --> 00:18:54,700 ROB: Okay. 382 00:18:54,700 --> 00:18:56,180 ALI: Sollten wir es geschrieben? 383 00:18:56,180 --> 00:18:59,340 Ich denke, wir müssen einfach schauen jemand anderes. 384 00:18:59,340 --> 00:19:07,140 ROB: Also für diejenigen, geklebt werden könnte, ein Weg - 385 00:19:07,140 --> 00:19:15,160 wenn ich etwas char c haben, und sagen wir es passiert der Buchstabe D. 386 00:19:15,160 --> 00:19:20,760 So jetzt, wie kann ich herausfinden, was Buchstaben des Alphabets C ist? 387 00:19:20,760 --> 00:19:25,620 Nicht D, aber ich meine, geschieht D der vierte Buchstabe des Alphabets. 388 00:19:25,620 --> 00:19:28,910 Und wenn wir das Zählen von 0 beginnen, dann ist es der dritte Buchstabe des Alphabets. 389 00:19:28,910 --> 00:19:36,240 Also, wenn A 0, B 1, C 2 ist, D 3, wie kann ich herausfinden, int position - 390 00:19:36,240 --> 00:19:40,780 Welche Position des Alphabets C ist? 391 00:19:40,780 --> 00:19:42,333 Hat jemand irgendwelche Ideen? 392 00:19:42,333 --> 00:19:45,440 ALI: Ich denke, sie sind alle Codierung. 393 00:19:45,440 --> 00:19:46,440 ROB: Was ist mit dem ersten? 394 00:19:46,440 --> 00:19:48,608 SPEAKER 12: So was A ist, subtrahieren Sie die erste? 395 00:19:48,608 --> 00:19:49,030 ROB: Yeah. 396 00:19:49,030 --> 00:19:49,950 ALI: Yeah, awesome. 397 00:19:49,950 --> 00:19:51,765 So könnten Sie tun Kapital D - 398 00:19:51,765 --> 00:19:52,840 oh, sorry. 399 00:19:52,840 --> 00:19:55,620 Sie nehmen den Charakter und subtrahieren Sie den ersten, wie Sie sagten. 400 00:19:55,620 --> 00:20:03,940 ROB: Also, wenn D ist so etwas wie 68, und wir subtrahieren, die ist 65, dann bekommen wir 401 00:20:03,940 --> 00:20:07,130 3, sagen uns, dass D ist der dritte Buchstabe des Alphabets 402 00:20:07,130 --> 00:20:09,290 ab 0. 403 00:20:09,290 --> 00:20:11,310 So können Sie diese verwenden. 404 00:20:11,310 --> 00:20:13,830 Jetzt wissen wir, was Buchstaben des Alphabets, in Bezug auf 405 00:20:13,830 --> 00:20:16,060 Großbuchstaben, oder - 406 00:20:16,060 --> 00:20:18,330 könnten wir die gleiche Sache für Kleinbuchstaben tun, um herauszufinden, was 407 00:20:18,330 --> 00:20:20,170 Kleinbuchstaben Position wir sind in. 408 00:20:20,170 --> 00:20:25,690 Und wir können, dass dann konvertieren, dass in Großbuchstaben mit einem 409 00:20:25,690 --> 00:20:26,970 sehr ähnliche Idee. 410 00:20:31,470 --> 00:20:32,670 Fordern Sie Anregungen? 411 00:20:32,670 --> 00:20:35,810 >> ALI: Do you guys - warten, ich weiß nicht, wie weit ihr seid. 412 00:20:35,810 --> 00:20:40,060 Sind die meisten von euch getan, bist du noch arbeiten, werden Sie stecken? 413 00:20:40,060 --> 00:20:42,020 You guys kann schreien - 414 00:20:42,020 --> 00:20:42,330 stecken. 415 00:20:42,330 --> 00:20:43,210 Eine Person sitzt fest. 416 00:20:43,210 --> 00:20:43,560 Cool. 417 00:20:43,560 --> 00:20:44,700 Ich neige dazu, geklebt werden, auch. 418 00:20:44,700 --> 00:20:45,415 SPEAKER 13: Ich bin fertig. 419 00:20:45,415 --> 00:20:46,410 ALI: Du getan? 420 00:20:46,410 --> 00:20:47,480 Okay. 421 00:20:47,480 --> 00:20:47,935 Fertig. 422 00:20:47,935 --> 00:20:49,300 SPEAKER 13: [unverständlich] 423 00:20:49,300 --> 00:20:50,600 ALI: Yeah, cool. 424 00:20:50,600 --> 00:20:53,720 Sind Sie überprüfen, ob es in Kleinbuchstaben Form ist? 425 00:20:53,720 --> 00:20:56,730 Okay, cool. 426 00:20:56,730 --> 00:20:59,882 Wo sind andere Menschen? 427 00:20:59,882 --> 00:21:06,140 Hat dieser Tipp hilft Ihnen, wie un-haften selbst? 428 00:21:06,140 --> 00:21:09,778 SPEAKER 14: Nicht wirklich, aber nur weil ich nicht weiß, ich bin nicht 429 00:21:09,778 --> 00:21:11,590 Verdauen es noch nicht. 430 00:21:11,590 --> 00:21:12,640 ALI: Okay, cool. 431 00:21:12,640 --> 00:21:13,431 Wollen Sie versuchen - 432 00:21:13,431 --> 00:21:16,140 oder willst du zu gehen und zu sprechen? 433 00:21:16,140 --> 00:21:18,590 >> ROB: Was ich sagen wollte ist - 434 00:21:18,590 --> 00:21:19,890 so mit diesem. 435 00:21:19,890 --> 00:21:22,650 Verstehen Sie, wie wir, welche Position des Alphabets 436 00:21:22,650 --> 00:21:24,820 der Brief ist in? 437 00:21:24,820 --> 00:21:30,616 SPEAKER 14: Okay, also, wenn Sie Sachen in einfache Anführungszeichen, 438 00:21:30,616 --> 00:21:35,030 das gibt eine Zahl? 439 00:21:35,030 --> 00:21:37,100 ROB: Ja. 440 00:21:37,100 --> 00:21:40,840 Es wird auf die ASCII-Wert stellt es übersetzt werden. 441 00:21:40,840 --> 00:21:43,350 So wollen Sie in ASCII-Tabelle oder was auch immer es ist zu gehen? 442 00:21:46,456 --> 00:21:47,840 ALI: Just one of these? 443 00:21:47,840 --> 00:21:49,970 ROB: Yep. 444 00:21:49,970 --> 00:21:55,270 Also, wenn Sie jedes dieser Symbole, ignorieren viele der - 445 00:21:55,270 --> 00:21:56,450 ALI: [unverständlich] 446 00:21:56,450 --> 00:21:57,620 ROB: Oh, mit dem Cursor. 447 00:21:57,620 --> 00:21:58,380 ALI: Ja. 448 00:21:58,380 --> 00:21:59,690 Das war spannend. 449 00:21:59,690 --> 00:22:04,050 ROB: Also, ignorieren diese, die auf der linken Seite, die spezielle Symbole sind - 450 00:22:04,050 --> 00:22:08,520 wenn Sie eines dieser Symbole stellen in einfache Anführungszeichen, dann wird es 451 00:22:08,520 --> 00:22:11,620 übersetzt diesen Wert auf der linken Seite. 452 00:22:11,620 --> 00:22:13,660 ALI: Dies ist die Dezimalzahl für sie. 453 00:22:13,660 --> 00:22:19,710 Es ist wie ein Treffer mit 65, B 66, und Sie werden feststellen, dass sie alle in 454 00:22:19,710 --> 00:22:21,540 alphabetischer Reihenfolge, die einen Unterschied macht. 455 00:22:21,540 --> 00:22:27,110 So, wie Rob sagt, vor, in diesem Code, waren wir die Berechnung der Entfernung von 456 00:22:27,110 --> 00:22:29,610 der erste Brief, per se. 457 00:22:29,610 --> 00:22:32,820 Und das werde die gleiche sein, ob es groß oder klein ist. 458 00:22:32,820 --> 00:22:38,390 ROB: Also, wenn wir D, 68 taten minus A, 65, bekommen wir 3. 459 00:22:38,390 --> 00:22:42,370 Da D drei Positionen in den Alphabet. 460 00:22:42,370 --> 00:22:46,680 ALI: Also, wie würden Sie übersetzen, dass über den kleinen d zu finden? 461 00:22:46,680 --> 00:22:47,240 ROB: Yeah. 462 00:22:47,240 --> 00:22:52,230 Also, wenn ich 3 haben jetzt weiß ich, ich will drei Buchstaben in die zu gehen - 463 00:22:52,230 --> 00:22:54,830 wir passieren zu gehen Kleinbuchstaben jetzt, aber sagen wir, ich möchte drei gehen 464 00:22:54,830 --> 00:22:58,610 Positionen in den Kleinbuchstaben Seite der Dinge. 465 00:22:58,610 --> 00:23:01,400 Also, wie kann ich das tun? 466 00:23:01,400 --> 00:23:04,240 Ich weiß Kleinbuchstaben a 97. 467 00:23:04,240 --> 00:23:07,535 So, wie finde ich drei Positionen in den Kleinbuchstaben? 468 00:23:10,461 --> 00:23:11,934 >> SPEAKER 15: Ich habe eine Frage eigentlich. 469 00:23:11,934 --> 00:23:12,425 ALI: Yeah, go ahead. 470 00:23:12,425 --> 00:23:14,880 SPEAKER 15: Also, für dieses, es spielt eigentlich keine Rolle, ob ich diese Position kennen, 471 00:23:14,880 --> 00:23:16,360 mag, brauche ich nicht diese Tabelle. 472 00:23:16,360 --> 00:23:16,840 ROB: Nope. 473 00:23:16,840 --> 00:23:19,380 Sie müssen nie eine dieser Nummern zu verwenden. 474 00:23:19,380 --> 00:23:23,670 Und dies ist ein wichtiger Punkt in Ihrem Programm, dass Sie sollten nie hart 475 00:23:23,670 --> 00:23:25,500 codieren eine dieser Konstanten. 476 00:23:25,500 --> 00:23:31,190 Mit 'A'. nie 65 oder 97. 477 00:23:31,190 --> 00:23:34,370 ALI: Das nennt man magischen Zahlen, und sie sind wirklich verwirrend. 478 00:23:34,370 --> 00:23:37,080 Wie, wenn Sie das Debuggen einen Code, können Sie nicht daran erinnern, was 479 00:23:37,080 --> 00:23:38,020 Sie verwendet sie für. 480 00:23:38,020 --> 00:23:40,770 Und für uns mit einem Gehalt von Code, werden wir nicht wirklich wissen, was 481 00:23:40,770 --> 00:23:41,750 Sie verwenden sie für. 482 00:23:41,750 --> 00:23:44,815 Also ist es besser, wenn Sie tatsächlich die Zeichen so macht es 483 00:23:44,815 --> 00:23:46,065 mehr Sinn für die Menschen. 484 00:23:49,460 --> 00:23:51,160 Okay, alle anderen Fragen? 485 00:23:51,160 --> 00:23:52,975 Immer mehr Menschen tun, oder - 486 00:23:56,243 --> 00:23:57,493 Ich denke, wir überprüfen können. 487 00:23:59,870 --> 00:24:02,410 Es ist wirklich gruselig, dass man Leute Code zu sehen. 488 00:24:02,410 --> 00:24:04,970 ROB: Yeah. 489 00:24:04,970 --> 00:24:06,410 Wir haben nicht das hier tun. 490 00:24:06,410 --> 00:24:08,380 Wir wissen nicht, die Namen von Personen, entweder. 491 00:24:08,380 --> 00:24:10,940 ALI: Oh yeah, gut, dass es besser macht, so dass wir noch mehr unvoreingenommene 492 00:24:10,940 --> 00:24:14,820 statt nur wahllos jemanden. 493 00:24:14,820 --> 00:24:15,360 Mach dir keine Sorgen. 494 00:24:15,360 --> 00:24:16,265 Ich werde es nicht tun. 495 00:24:16,265 --> 00:24:20,396 Wenn Sie random things about - egal. 496 00:24:20,396 --> 00:24:20,870 Okay. 497 00:24:20,870 --> 00:24:22,556 Wie sind die Menschen tun? 498 00:24:22,556 --> 00:24:26,950 >> SPEAKER 17: So die neunte Zeile sollte auszudrucken einen Charakter? 499 00:24:26,950 --> 00:24:27,430 ROB: Ja. 500 00:24:27,430 --> 00:24:27,910 ALI: Ja. 501 00:24:27,910 --> 00:24:30,770 Also, wenn Sie gehen - 502 00:24:30,770 --> 00:24:32,200 ROB: Oh, kann das nicht tun. 503 00:24:32,200 --> 00:24:35,400 ALI: Du wirst sehen, dass es die Raute gedruckt. 504 00:24:35,400 --> 00:24:37,180 SPEAKER 17: Oh, okay. 505 00:24:37,180 --> 00:24:41,290 ROB: Ich denke, ein weiterer Weg Sie die Dinge sehen kann ist, dass wir Druck von zwei 506 00:24:41,290 --> 00:24:42,540 Zeichen. 507 00:24:44,500 --> 00:24:47,740 Zuerst ein wir Bedrucken ist der Brief A. 508 00:24:47,740 --> 00:24:51,610 Der nächste wir Ausdrucken ist nur 65. 509 00:24:51,610 --> 00:24:54,450 Es wird wahrscheinlich schreien mich an für diese. 510 00:24:54,450 --> 00:25:00,060 Also, wenn wir laufen nur diese, werden Sie feststellen, dass es ein beide Male gedruckt. 511 00:25:00,060 --> 00:25:02,070 Da fragen wir es die gleiche Sache. 512 00:25:02,070 --> 00:25:07,840 Wir bitten Sie, den Brief A. Drucken und dann fragen wir sie, um den Druckauftrag 513 00:25:07,840 --> 00:25:13,820 Nummer 65 als Charakter, was dasselbe ist interpretiert. 514 00:25:13,820 --> 00:25:15,100 ALI: Haben Sie etwas zu sagen? 515 00:25:15,100 --> 00:25:18,150 Oh, nur ein Scherz, sorry. 516 00:25:18,150 --> 00:25:20,640 Alle Rechte, wie sind die Menschen - 517 00:25:20,640 --> 00:25:22,280 ROB: Wir können nur durch sie hindurchgehen. 518 00:25:22,280 --> 00:25:25,250 >> ALI: Okay, also wie soll man anfangen? 519 00:25:25,250 --> 00:25:26,500 Anyone? 520 00:25:28,030 --> 00:25:34,486 Als Hinweis, wir haben etwas von den Menschen bekommen, von den typers. 521 00:25:34,486 --> 00:25:36,850 SPEAKER 18: [unverständlich] 522 00:25:36,850 --> 00:25:38,290 ALI: Oh yeah, eine Aufforderung, perfekt. 523 00:25:38,290 --> 00:25:40,660 Also werden wir geben - 524 00:25:40,660 --> 00:25:41,670 was tun wir geben? 525 00:25:41,670 --> 00:25:43,660 Anyone? 526 00:25:43,660 --> 00:25:46,480 Oder soll ich einfach geben Sie es? 527 00:25:46,480 --> 00:25:47,530 Sind wir eigentlich die Eingabe der - 528 00:25:47,530 --> 00:25:48,430 ROB: Sicher. 529 00:25:48,430 --> 00:25:50,990 ALI: So werden wir eine printf es Eingabeaufforderung, so können wir 530 00:25:50,990 --> 00:25:54,810 möchten, geben Sie mir ein Zeichen. 531 00:25:54,810 --> 00:25:55,710 Okay, und was dann? 532 00:25:55,710 --> 00:25:56,664 Warum tut sie das? 533 00:25:56,664 --> 00:25:57,620 ROB: Ich weiß es nicht. 534 00:25:57,620 --> 00:26:00,070 ALI: Okay. 535 00:26:00,070 --> 00:26:03,680 So, jetzt sind wir ihnen zu sagen, um uns ein Zeichen. 536 00:26:03,680 --> 00:26:07,064 Aber dann, wie Sie tatsächlich das Zeichen? 537 00:26:07,064 --> 00:26:10,060 SPEAKER 19: Verwenden GetString. 538 00:26:10,060 --> 00:26:12,040 ALI: GetString? 539 00:26:12,040 --> 00:26:12,850 GetChar? 540 00:26:12,850 --> 00:26:17,038 Okay, so was ist der Unterschied zwischen einem String und einem char? 541 00:26:17,038 --> 00:26:20,020 SPEAKER 19: Strings sind eine Reihe, wie ein Array von Zeichen. 542 00:26:20,020 --> 00:26:21,910 >> ALI: Cool, yeah. 543 00:26:21,910 --> 00:26:25,550 Also in diesem Problem, wir müssen nur ein Zeichen in einer Zeit betrachten, so 544 00:26:25,550 --> 00:26:28,400 wir nur gehen, um GetChar für diese Instanz zu tun. 545 00:26:28,400 --> 00:26:32,400 ROB: Wir implementieren könnte eine Funktion, wenn wir wollten, dass dauerte einen ganzen String 546 00:26:32,400 --> 00:26:35,750 und ging über die Saite und verändert alle Kleinbuchstaben in Großbuchstaben und alle 547 00:26:35,750 --> 00:26:37,380 Großbuchstaben in Kleinbuchstaben. 548 00:26:37,380 --> 00:26:39,170 Aber hier sind wir nur gefragt, für ein Zeichen. 549 00:26:39,170 --> 00:26:42,800 ALI: So, jetzt haben wir den Charakter hier, aber dann müssen wir sie zu speichern. 550 00:26:42,800 --> 00:26:45,070 Also fügen wir char c - was? 551 00:26:45,070 --> 00:26:46,070 SPEAKER 20: Definieren Sie die Variable. 552 00:26:46,070 --> 00:26:48,100 ALI: Ja, genau. 553 00:26:48,100 --> 00:26:49,585 So haben wir unseren Charakter. 554 00:26:49,585 --> 00:26:51,766 ROB: Ich glaube, Sie könnten - 555 00:26:51,766 --> 00:26:55,630 Sie sind nur drei Räume, weshalb es bei Ihnen ist zu schreien. 556 00:26:55,630 --> 00:27:01,300 >> ALI: Okay, cool, jetzt haben wir Tab Set, was passiert als nächstes? 557 00:27:01,300 --> 00:27:02,550 Was ist der nächste Schritt? 558 00:27:05,590 --> 00:27:08,870 ROB: Was unser Programm tun sollten, ist zu ändern einen Kleinbuchstaben ein 559 00:27:08,870 --> 00:27:10,130 Großbuchstaben. 560 00:27:10,130 --> 00:27:15,478 Was ist, wenn ich die Raute geben geschehen? 561 00:27:15,478 --> 00:27:16,314 Ist, dass - 562 00:27:16,314 --> 00:27:16,732 ALI: Es ist ein gutes Symbol. 563 00:27:16,732 --> 00:27:18,270 Wir verwenden es eine Menge. 564 00:27:18,270 --> 00:27:21,937 ROB: Ist das ein gültiges, was ich kann, um einem Großbuchstaben Form zu überführen? 565 00:27:21,937 --> 00:27:23,070 SPEAKER 21: No 566 00:27:23,070 --> 00:27:24,070 ALI: Nein 567 00:27:24,070 --> 00:27:24,900 Wir sollten prüfen, ob. 568 00:27:24,900 --> 00:27:34,950 So können wir haben eine if-Anweisung überprüft, so, wenn die c größer ist als 569 00:27:34,950 --> 00:27:37,410 oder gleich dem Kleinbuchstaben 'a'- 570 00:27:37,410 --> 00:27:45,490 also, wenn wir auf die Tabelle schauen, werden Sie feststellen, dass es zwischen hier sein muss, 571 00:27:45,490 --> 00:27:47,670 bei 97 und die Kleinbuchstaben a. 572 00:27:47,670 --> 00:27:52,110 Und es kann jede von ihnen zu sein, und in Schritten den ganzen Weg hinunter. 573 00:27:52,110 --> 00:27:55,200 Und dann gibt es bei 122 z. 574 00:27:55,200 --> 00:27:58,215 Und es muss zwischen diesen beiden Werten liegen. 575 00:27:58,215 --> 00:27:59,700 Macht das Sinn? 576 00:27:59,700 --> 00:28:04,130 ROB: Also, wenn c nicht zwischen 97 und 122 - 577 00:28:04,130 --> 00:28:09,960 oder sollten Sie nie brauchen, um diese Zahlen zu verwenden - wenn c nicht zwischen "a" und 578 00:28:09,960 --> 00:28:15,110 'Z', dann war es kein gültiges Zeichen für uns in Großbuchstaben. 579 00:28:15,110 --> 00:28:18,590 ALI: So in Form eines Codes, sagen wir, dass, wenn c größer als oder gleich einzigen 580 00:28:18,590 --> 00:28:19,640 Bei Kleinbuchstaben - 581 00:28:19,640 --> 00:28:21,270 wow, wie hast du das gesagt? 582 00:28:21,270 --> 00:28:26,900 Okay, ist größer als oder gleich dem Kleinbuchstaben "a", und es muss oben sein 583 00:28:26,900 --> 00:28:32,250 Die Kleinbuchstaben "z". So hat es sich als weniger als oder gleich 'z' Kleinbuchstaben. 584 00:28:32,250 --> 00:28:35,300 Wir machen sicher, dass es zwischen den beiden. 585 00:28:35,300 --> 00:28:38,540 Dann können wir weiter mit unserer glücklichen Code. 586 00:28:41,992 --> 00:28:43,360 Was? 587 00:28:43,360 --> 00:28:46,860 ROB: Also ich dachte, wir würden nur immer wieder fragen, wenn wir nicht einen Fall 588 00:28:46,860 --> 00:28:48,250 Kleinbuchstaben. 589 00:28:48,250 --> 00:28:51,130 ALI: Oh, ich war nicht bewusst. 590 00:28:51,130 --> 00:28:52,820 Entschuldigung. 591 00:28:52,820 --> 00:28:58,100 >> Okay, also, wenn wir dabei sind zu tun, wie Rob sagt, und stellen Sie sicher, dass - 592 00:28:58,100 --> 00:29:02,068 können wir immer wieder fragen sie, was dann sollen wir tun? 593 00:29:02,068 --> 00:29:02,994 SPEAKER 22: [unverständlich] 594 00:29:02,994 --> 00:29:03,530 ROB: Yeah. 595 00:29:03,530 --> 00:29:05,630 Wir sollten eine Art Schleife. 596 00:29:05,630 --> 00:29:12,900 Da der Benutzer eingeben kann etwas ungültiges eine ungezählte Menge an Zeit. 597 00:29:12,900 --> 00:29:14,990 So können Sie eine while-Schleife. 598 00:29:14,990 --> 00:29:18,870 Der Zweck einer do-while-Schleife - 599 00:29:18,870 --> 00:29:21,340 wahrsten Sinne des Wortes, das einzige Mal in Ihrem ganzen Leben werden Sie jemals verwenden do- 600 00:29:21,340 --> 00:29:24,780 while-Schleifen ist, wenn man für Benutzereingaben gefragt sind. 601 00:29:24,780 --> 00:29:28,260 So die Tatsache, wir für Benutzereingaben fragen hier ist ein Hinweis darauf, dass wir sollten 602 00:29:28,260 --> 00:29:29,660 verwenden Sie eine do-while-Schleife. 603 00:29:29,660 --> 00:29:30,780 Und warum ist das so? 604 00:29:30,780 --> 00:29:34,270 Weil do-while-Schleife geschieht immer mindestens einmal. 605 00:29:34,270 --> 00:29:40,260 Also, wenn Sie für Benutzereingaben zu fragen, Sie wollen, dass mindestens einmal passieren. 606 00:29:40,260 --> 00:29:42,750 Und dann, wenn die Dinge erfolgreich waren, können Sie weitermachen. 607 00:29:42,750 --> 00:29:45,130 Wenn nicht, gehen Sie zurück und wieder fragen. 608 00:29:45,130 --> 00:29:48,950 >> ALI: Also mit anderen Worten, wir müssen Abschnitt. 609 00:29:48,950 --> 00:29:51,130 Und so sagt sie, etwas zu tun. 610 00:29:51,130 --> 00:29:53,890 So printf - 611 00:29:53,890 --> 00:29:57,490 Drucken Sie die Anweisung, die Eingabeaufforderung, und erhalten auch den Charakter, oder zu versuchen, 612 00:29:57,490 --> 00:29:58,780 bekommen Sie ein Zeichen. 613 00:29:58,780 --> 00:30:03,410 Und dann haben wir zu prüfen, ob es tat es tatsächlich richtig. 614 00:30:03,410 --> 00:30:07,730 Also haben wir die Bedingungen hinzufügen, dann sagen wir Weile, und dann haben wir die 615 00:30:07,730 --> 00:30:08,980 bedingte Anweisung. 616 00:30:11,600 --> 00:30:14,730 ROB: Aber jetzt haben wir den Gedankengang umgekehrt. 617 00:30:14,730 --> 00:30:18,940 Jetzt haben wir ursprünglich sagen, wenn c in diesem Bereich liegt, ist es gültig. 618 00:30:18,940 --> 00:30:23,340 Jetzt wollen wir, dass umkehren und sagen, wenn c nicht in diesem Bereich, dann werden wir 619 00:30:23,340 --> 00:30:25,020 brauchen, um wieder um die Dinge wieder tun. 620 00:30:25,020 --> 00:30:25,900 ALI: Oh, yeah. 621 00:30:25,900 --> 00:30:31,720 ROB: Während also das ist nicht wahr, wir wollen zurück zu gehen und 622 00:30:31,720 --> 00:30:34,470 fragen Sie nach einem anderen Charakter. 623 00:30:34,470 --> 00:30:36,880 Hat jeder das sehen? 624 00:30:36,880 --> 00:30:38,830 Fragen zum Thema? 625 00:30:38,830 --> 00:30:39,400 Okay. 626 00:30:39,400 --> 00:30:43,480 >> So, jetzt haben wir ein gültiges Zeichen, dass wir in Großbuchstaben. 627 00:30:43,480 --> 00:30:47,150 ALI: Also, was ist der nächste Schritt für uppercasing es? 628 00:30:49,994 --> 00:30:51,890 SPEAKER 23: In 32. 629 00:30:51,890 --> 00:30:52,600 ALI: Sie fügen - 630 00:30:52,600 --> 00:30:54,150 sorry, was? 631 00:30:54,150 --> 00:30:56,580 SPEAKER 23: Kannst du nicht einfach fügen 32? 632 00:30:56,580 --> 00:31:02,360 ROB: Also ja, nicht im Sinne von magischen Zahlen. 633 00:31:02,360 --> 00:31:04,610 Sie sollten nur mit single-quote stuff. 634 00:31:04,610 --> 00:31:06,450 SPEAKER 23: Okay, gut - 635 00:31:06,450 --> 00:31:07,250 Rob: Aber Sie können 32 bekommen - 636 00:31:07,250 --> 00:31:11,870 ALI: Wie hast du die Nummer 32, glaube ich, ist das, was wir sagen. 637 00:31:11,870 --> 00:31:18,060 SPEAKER 23: [unverständlich] 638 00:31:18,060 --> 00:31:22,158 ROB: So können wir kommen mit der Nummer 32 zusammen - 639 00:31:22,158 --> 00:31:24,468 SPEAKER 23: [unverständlich]? 640 00:31:24,468 --> 00:31:24,930 ROB: Yeah. 641 00:31:24,930 --> 00:31:28,540 Aber wenn wir es in den zwei Schritten wir haben vorher mit 642 00:31:28,540 --> 00:31:29,950 die Position Zeug. 643 00:31:29,950 --> 00:31:36,910 So dass die Position in dem Alphabet dass c zufällig ist c minus Kleinbuchstaben 644 00:31:36,910 --> 00:31:42,360 'A'. Also, wenn wir einen Kleinbuchstaben "d" eingegeben haben, wird die Position gehen bis 3 sein. 645 00:31:42,360 --> 00:31:46,490 Und jetzt wollen wir die Dinge auf die Groß-Reihe von Dingen zu nehmen. 646 00:31:46,490 --> 00:31:55,376 So, jetzt unsere neuen c wird in der Hauptstadt 'A' plus Position sein. 647 00:31:55,376 --> 00:32:00,090 So machen die Leute sehen, wie das bringt uns - 648 00:32:00,090 --> 00:32:04,140 wir aus dem Kleinbuchstaben Bereich bewegen, die genaue Tiefe waren wir in der 649 00:32:04,140 --> 00:32:07,650 Reichweite und hinunter in die Groß-Bereich, und so weit zu gehen 650 00:32:07,650 --> 00:32:10,610 wieder darauf, wird das werde das gleiche Zeichen, aber jetzt 651 00:32:10,610 --> 00:32:12,550 Großbuchstaben umgewandelt. 652 00:32:12,550 --> 00:32:16,490 ALI: Und für die Menschen, die durch wie verwirrt wurden sagte er nur 32, 653 00:32:16,490 --> 00:32:20,390 Grundsätzlich verband er beides in einer Anweisung. 654 00:32:20,390 --> 00:32:24,550 So eine gleichwertige Art des Schreibens folgendes zu sagen Sie können nur eine Art 655 00:32:24,550 --> 00:32:28,190 Ersatz Position, legte die c minus 'a,' und es hier richtig. 656 00:32:28,190 --> 00:32:31,330 Also, was er tat, tun nicht I - 657 00:32:31,330 --> 00:32:44,510 char newc = Großbuchstaben 'A' plus c minus Kleinbuchstaben 'a'. Und weil der Algebra, 658 00:32:44,510 --> 00:32:47,090 Sie können sie bewegen. 659 00:32:47,090 --> 00:32:52,960 Man kann auch sagen, dass man es bewegen, so char newc = Großbuchstaben 'A' 660 00:32:52,960 --> 00:32:55,620 minus Kleinbuchstaben "a" plus c. 661 00:32:55,620 --> 00:32:58,650 Und dies, werden Sie feststellen, wenn wir wieder nach der Tabelle gehen. 662 00:33:01,160 --> 00:33:06,300 Wir haben Großbuchstaben A 65 und Kleinbuchstaben a 97. 663 00:33:06,300 --> 00:33:09,800 So 65 bis 97 ist -32. 664 00:33:09,800 --> 00:33:10,020 >> Hallo. 665 00:33:10,020 --> 00:33:10,930 Nehmen Sie Platz. 666 00:33:10,930 --> 00:33:12,180 Oh. 667 00:33:16,240 --> 00:33:17,980 Sie können gleich hier sitzen. 668 00:33:17,980 --> 00:33:20,805 Cool, okay, awesome. 669 00:33:20,805 --> 00:33:22,390 Willkommen in Abschnitt. 670 00:33:22,390 --> 00:33:25,110 Sie werden bemerken, dass die Differenz 32 ist. 671 00:33:25,110 --> 00:33:28,150 Also das ist, wo er diese Zahl hat. 672 00:33:28,150 --> 00:33:32,140 Aber es ist nicht, wie Rob sagt, der beste Weg, es zu tun, weil es die seltsame hat 673 00:33:32,140 --> 00:33:35,260 magische Zahl Verwirrung. 674 00:33:35,260 --> 00:33:38,710 ROB: Sie sollten Kapital zu nutzen A minus Kleinbuchstaben ein. 675 00:33:38,710 --> 00:33:43,045 Sie sollten nicht nur gerade 32. 676 00:33:43,045 --> 00:33:45,020 SPEAKER 24: Warum ist das wieder? 677 00:33:45,020 --> 00:33:49,860 Warum sollten Sie nicht verwenden, 32? 678 00:33:49,860 --> 00:33:55,630 ALI: Wenn wir es getan haben, wäre es char newc = -32 + c. 679 00:33:55,630 --> 00:34:00,030 Und wenn Sie nicht sehen, eine der Rest von ihm, wenn dies alles vorbei ist und Sie 680 00:34:00,030 --> 00:34:04,720 sehen nur dieses einzige Zeile, dann, wie Sie wissen, was die negative 32 ist? 681 00:34:04,720 --> 00:34:07,000 Es ist einfach fehl am Platz. 682 00:34:07,000 --> 00:34:10,360 ROB: So wird Ihr Programm würde völlig in Ordnung arbeiten. 683 00:34:10,360 --> 00:34:12,960 Es ist nur ein Stil Sache. 684 00:34:12,960 --> 00:34:17,760 Jemand geht in und Lesen Ihres Codes, sie sind wie was 32 bedeuten? 685 00:34:17,760 --> 00:34:18,889 Vielleicht sind sie tun nicht - 686 00:34:18,889 --> 00:34:22,090 Ich würde wahrscheinlich nicht sofort erkennen, dass 32 passiert zu sein 687 00:34:22,090 --> 00:34:25,100 Unterschied zwischen einem Kleinbuchstaben und einem Großbuchstaben, obwohl 688 00:34:25,100 --> 00:34:26,510 werden wir diese Tatsache in das nächste Problem zu verwenden. 689 00:34:30,210 --> 00:34:31,610 32 ist - 690 00:34:31,610 --> 00:34:38,579 Sie könnten einen Kommentar darüber sagen 32 zu verlassen ist der Unterschied zwischen 691 00:34:38,579 --> 00:34:45,290 'A' und 'a ". Aber an diesem Punkt, warum nicht einfach 'A' und 'a', und Sie 692 00:34:45,290 --> 00:34:47,469 müssen nicht den Kommentar dann. 693 00:34:47,469 --> 00:34:52,739 >> ALI: Es ist nur die Art und Weise darüber ein viel sauberer, style-weise sind. 694 00:34:52,739 --> 00:34:54,590 Und so, da Sie gerade erst anfangen Programmierung - 695 00:34:54,590 --> 00:34:57,775 oder ich denke nicht, da du hacker edi sind - egal. 696 00:34:57,775 --> 00:34:59,420 Es ist einfach eine gute Möglichkeit zu haben - 697 00:34:59,420 --> 00:35:01,230 es ist besser, besser Stil haben. 698 00:35:01,230 --> 00:35:02,850 Es ist einfacher, für andere Menschen zu lesen. 699 00:35:02,850 --> 00:35:06,560 ROB: Sie sollten nie brauchen, um die ASCII-Tabelle erinnern, je zuvor. 700 00:35:06,560 --> 00:35:09,505 Sie sollten nur in der Lage sein, die einzelnen Anführungszeichen verwenden. 701 00:35:12,390 --> 00:35:12,730 Haben Sie Fragen? 702 00:35:12,730 --> 00:35:13,980 ALI: Jeder gut? 703 00:35:16,020 --> 00:35:16,430 ROB: Okay. 704 00:35:16,430 --> 00:35:23,320 Also das nächste Problem ist beträchtlich. 705 00:35:23,320 --> 00:35:24,660 Also das nächste Problem fragt uns - 706 00:35:27,880 --> 00:35:31,570 ALI: Das nächste Problem ist für uns zu fragen, die gleiche Sache zu tun, aber zu bedienen 707 00:35:31,570 --> 00:35:32,640 Bit-Operatoren. 708 00:35:32,640 --> 00:35:35,170 ROB: Und natürlich haben wir nicht bitweisen Operatoren noch nicht gesehen. 709 00:35:35,170 --> 00:35:38,874 Also werden wir jetzt diskutieren diese. 710 00:35:38,874 --> 00:35:39,540 ALI: Seien Sie gespannt. 711 00:35:39,540 --> 00:35:41,490 Sie sind super Spaß. 712 00:35:41,490 --> 00:35:47,927 >> ROB: So die regelmäßigen Operatoren, wie x plus y, minus, mal, Kluft. 713 00:35:47,927 --> 00:35:50,850 ALI: Geben Sie in dieser Eingabeaufforderung. 714 00:35:50,850 --> 00:35:55,420 Rob: Es gibt auch%, wenn Sie es nicht gesehen haben, die Sie durch die Nutzung 715 00:35:55,420 --> 00:35:57,130 Prozent Symbol. 716 00:35:57,130 --> 00:35:59,090 Aber wir werden nicht die für dieses Problem. 717 00:35:59,090 --> 00:36:01,400 Wir wollen bitweise Operatoren verwenden. 718 00:36:01,400 --> 00:36:06,250 Jetzt denken Sie daran, brachten wir es in der Vorlesung ein. 719 00:36:06,250 --> 00:36:10,760 Ich bin mir nicht sicher, ob wir binäre darüber hinaus diskutiert. 720 00:36:10,760 --> 00:36:13,710 Aber denken Sie daran, dass jede einzelne Zahl dargestellt wird - 721 00:36:13,710 --> 00:36:14,540 gut, alles - 722 00:36:14,540 --> 00:36:17,860 ist in 1 und 0 in binärer vertreten. 723 00:36:17,860 --> 00:36:27,320 Das heißt also, dass, wenn ich die Zahl 8 sagen, dass ich zu wissen, dass das ist geschehen, 724 00:36:27,320 --> 00:36:30,240 dergleichen, 1000. 725 00:36:30,240 --> 00:36:35,530 Was bitweisen Operatoren lassen Sie uns auf dieser Bits zu betreiben - 726 00:36:35,530 --> 00:36:37,000 Auf diesen Bits direkt zu betreiben. 727 00:36:40,160 --> 00:36:42,490 Jetzt bin ich nicht mehr um in Bezug auf acht. 728 00:36:42,490 --> 00:36:45,930 Ich bin in Bezug auf 1000 zu tun, und ich will die Dinge mit denen zu tun 729 00:36:45,930 --> 00:36:47,670 einzelnen Bits. 730 00:36:47,670 --> 00:36:52,520 So Ali hat die bitweisen Operatoren hier geschrieben, aber that's - 731 00:36:55,060 --> 00:36:58,020 Die Zahl 8 haben wir als eines unserer Beispiel-Nummern verwenden werden. 732 00:36:58,020 --> 00:37:02,980 Und die binäre Darstellung ist 1000. 733 00:37:02,980 --> 00:37:06,520 Wir verwenden eine andere Nummer, 5 - 734 00:37:06,520 --> 00:37:12,070 tatsächlich verwenden wir 9 und 5. 735 00:37:12,070 --> 00:37:15,778 Und die 5 der Binärdarstellung ist 00 - 736 00:37:15,778 --> 00:37:18,380 0101. 737 00:37:18,380 --> 00:37:19,480 ALI: Ist jeder gut auf, dass? 738 00:37:19,480 --> 00:37:21,040 Die binäre Zeug? 739 00:37:21,040 --> 00:37:23,740 Es war von der ersten Vorlesung? 740 00:37:23,740 --> 00:37:29,070 >> ROB: Also selbst wenn Sie sich nicht ganz an der Spitze, wie die Dinge zu konvertieren 741 00:37:29,070 --> 00:37:31,700 binäre, das ist nicht ganz wichtig für dieses Problem. 742 00:37:31,700 --> 00:37:36,560 Wir werden Sie es, aber Sie müssen viel mehr Chancen, um herauszufinden, wie man 743 00:37:36,560 --> 00:37:39,250 schnell wieder Dinge in binär. 744 00:37:39,250 --> 00:37:43,820 Also mit 9 und 5, jetzt haben wir unsere bitweisen Operatoren. 745 00:37:43,820 --> 00:37:48,620 Oh, und auch, 9 und 5, wenn es eine ganze Zahl ist, dann ist es wirklich ist 32 Bit, 746 00:37:48,620 --> 00:37:53,150 das heißt, wir haben wie 0, 0, 0, 0 eine Menge Zeit, dann 747 00:37:53,150 --> 00:37:55,330 101 auf der ganz am Ende. 748 00:37:55,330 --> 00:37:58,530 Das ist einfach, weil, egal was du tust, in Zahlen, 32 bits. 749 00:37:58,530 --> 00:38:01,570 Nur weil wir nur noch vier Bits bis 9 stellen bedeutet nicht, dass wir nicht 750 00:38:01,570 --> 00:38:05,500 mit bis die anderen 27 Bits für nur 0s. 751 00:38:05,500 --> 00:38:10,110 ALI: Nur um zu klären, eine dieser Nummern, die eine 0 oder eine 1 ist ein bisschen. 752 00:38:10,110 --> 00:38:11,830 Dieser ist 4 Bits. 753 00:38:11,830 --> 00:38:14,320 Wie so Rob sagte, dass Maschinen zu speichern in 32. 754 00:38:14,320 --> 00:38:19,430 Also müssten sie 32 entweder eine 0 oder eine 1. 755 00:38:19,430 --> 00:38:22,190 Cool? 756 00:38:22,190 --> 00:38:23,610 ROB: Die Bit-Operatoren. 757 00:38:23,610 --> 00:38:27,310 Die erste, die wir behandeln, lass es uns tun und. 758 00:38:27,310 --> 00:38:31,260 Also, wenn wir tun, 9 & 5. 759 00:38:31,260 --> 00:38:38,310 Also, was und tut, ist, Stück für Stück, vergleicht er die Bits der beiden Zahlen 760 00:38:38,310 --> 00:38:44,860 und, wenn die beiden Zahlen 1 sind, dann gibt eine 1. 761 00:38:44,860 --> 00:38:50,870 Wenn man eine 0 ist und das andere ist a 1, oder beide sind 0s, dann gibt eine 0. 762 00:38:50,870 --> 00:38:53,060 So können Sie es als Ihre logischen ANDs denken. 763 00:38:53,060 --> 00:38:59,270 Wie Sie brauchen echte und wahre true zurückgeben, aber wahr und falsch ist falsch. 764 00:38:59,270 --> 00:39:02,390 So ist es die gleiche Sache, aber jetzt sind wir mit ihm den Umgang mit nur Bits. 765 00:39:02,390 --> 00:39:04,910 >> ALI: Also, wenn Sie dies zu betrachten, haben Sie 1 - 766 00:39:04,910 --> 00:39:08,490 Sie legen Sie sie, so dass es dann 1 und 0 sein. 767 00:39:08,490 --> 00:39:11,036 Do you guys denke, das wäre - was würde das auszuwerten, um? 768 00:39:11,036 --> 00:39:11,770 SPEAKER 25: 1. 769 00:39:11,770 --> 00:39:12,270 ALI: Cool. 770 00:39:12,270 --> 00:39:16,850 Oder nein. 771 00:39:16,850 --> 00:39:18,830 Entschuldigung. 772 00:39:18,830 --> 00:39:21,290 So macht das Sinn macht? 773 00:39:21,290 --> 00:39:23,200 Also, was ist das kollektive Antwort wieder? 774 00:39:23,200 --> 00:39:24,750 Entschuldigung. 775 00:39:24,750 --> 00:39:27,530 Wenn wir also 1 und 0, so was bekommen Sie? 776 00:39:27,530 --> 00:39:30,260 ROB: Sie glauben also, wie Sie sagen, und laut. 777 00:39:30,260 --> 00:39:37,550 Wenn man zwei Bits haben, x und y, muss x und y 1 sein, damit sie 778 00:39:37,550 --> 00:39:40,770 auf true - oder, damit es auf 1 zu bewerten. 779 00:39:40,770 --> 00:39:45,650 Falls x oder y 0 sind, dann ist es den Wert false oder 0. 780 00:39:45,650 --> 00:39:49,165 LUCAS: Es ist gut, auch daran erinnern, dass 1 wahr ist und 0 ist falsch. 781 00:39:49,165 --> 00:39:51,684 Also, wenn Sie true & false gesetzt, ist es falsch. 782 00:39:51,684 --> 00:39:53,570 Aber dann, true & true, true. 783 00:39:53,570 --> 00:39:55,040 Falsch & false false. 784 00:39:55,040 --> 00:39:57,650 ALI: Wir haben true & false. 785 00:39:57,650 --> 00:39:58,530 So 1 und 0. 786 00:39:58,530 --> 00:40:00,380 So dann wieder, sorry, ein weiteres Mal? 787 00:40:00,380 --> 00:40:02,210 SPEAKER 25: Es wäre 0 sein. 788 00:40:02,210 --> 00:40:03,560 Yeah, cool. 789 00:40:03,560 --> 00:40:05,400 Und dann haben wir 0 & 1 - 790 00:40:05,400 --> 00:40:06,260 SPEAKER 25: [unverständlich] 791 00:40:06,260 --> 00:40:06,680 ALI: Ja. 792 00:40:06,680 --> 00:40:09,790 So können Sie immer tauschen sie in - 793 00:40:09,790 --> 00:40:12,150 Dann, wenn Sie haben 0 und 0? 794 00:40:12,150 --> 00:40:12,618 SPEAKER 4: 1? 795 00:40:12,618 --> 00:40:14,490 0? 796 00:40:14,490 --> 00:40:16,230 ROB: Es ist also 0. 797 00:40:16,230 --> 00:40:18,870 Es ist nicht so, dass beide Zahlen gleich sein müssen. 798 00:40:18,870 --> 00:40:22,030 Es ist, dass beide Zahlen 1 sein müssen. 799 00:40:22,030 --> 00:40:26,150 ALI: So haben beide um wahr zu sein für die es auf true. 800 00:40:26,150 --> 00:40:26,950 Also das ist 0. 801 00:40:26,950 --> 00:40:30,540 Und dann haben Sie 1% 1, was ist? 802 00:40:30,540 --> 00:40:32,640 ROB: Diese sind ziemlich gute Zahlen. 803 00:40:32,640 --> 00:40:34,362 Sie haben alle möglichen - 804 00:40:34,362 --> 00:40:36,210 ALI: Gute Arbeit, wow. 805 00:40:36,210 --> 00:40:37,080 Okay, cool. 806 00:40:37,080 --> 00:40:39,220 So macht das Sinn für alle? 807 00:40:39,220 --> 00:40:41,770 >> ROB: So, jetzt werden wir tun |. 808 00:40:41,770 --> 00:40:51,650 Und das wird sehr ähnlich sein, aber jetzt anstelle von x und y zu müssen 809 00:40:51,650 --> 00:40:54,880 1 sein, damit es zu einem zu bewerten, jetzt ist es nur x oder 810 00:40:54,880 --> 00:40:56,360 y muss 1 sein. 811 00:40:56,360 --> 00:40:59,580 ALI: So 1 | 0 ausgewertet - 812 00:40:59,580 --> 00:41:00,270 CLASS: 1. 813 00:41:00,270 --> 00:41:01,690 ALI: Cool. 814 00:41:01,690 --> 00:41:03,710 0 | 1 ausgewertet - 815 00:41:03,710 --> 00:41:04,420 CLASS: 1. 816 00:41:04,420 --> 00:41:06,726 ALI: Cool, und dann 0 | 0 - 817 00:41:06,726 --> 00:41:07,600 CLASS: 0. 818 00:41:07,600 --> 00:41:09,320 ALI: Ja, und dann 1 | 1 - 819 00:41:09,320 --> 00:41:10,180 CLASS: 1. 820 00:41:10,180 --> 00:41:12,090 ALI: Cool. 821 00:41:12,090 --> 00:41:14,060 Also das ist, wie zwei bitweisen Operatoren. 822 00:41:14,060 --> 00:41:15,430 Awesome. 823 00:41:15,430 --> 00:41:16,440 ROB: So, jetzt werden wir ^ tun. 824 00:41:16,440 --> 00:41:18,470 ALI: Sollen wir alle von ihnen? 825 00:41:18,470 --> 00:41:20,620 ROB: Ja, weil ich denke, dass wir es zu benutzen - 826 00:41:20,620 --> 00:41:22,340 mit sie alle. 827 00:41:22,340 --> 00:41:23,150 ALI: Okay. 828 00:41:23,150 --> 00:41:23,570 So - 829 00:41:23,570 --> 00:41:25,540 ROB: Ich denke, wir brauchen nicht zu. 830 00:41:25,540 --> 00:41:31,830 ALI: So ^ Werke, dass du genau eine wahre und eine falsche haben. 831 00:41:31,830 --> 00:41:34,330 ^ Bedeutet, exklusive OR. 832 00:41:34,330 --> 00:41:36,650 So jetzt ist es nicht - 833 00:41:36,650 --> 00:41:41,220 wenn x und y beide 1 sind, ist es jetzt falsch. 834 00:41:41,220 --> 00:41:46,920 Das ist die Differenz zwischen ^ und | ist, dass OR, man haben kann, wenn x 835 00:41:46,920 --> 00:41:49,440 wahr oder y wahr ist, dann sind wir gut. 836 00:41:49,440 --> 00:41:55,176 Nein, sagt ^ wenn x wahr ist, y muss falsch sein, oder aber es ist nicht wahr. 837 00:41:55,176 --> 00:41:56,814 Haben Sie eine Frage? 838 00:41:56,814 --> 00:42:00,526 >> SPEAKER 26: [unverständlich] 839 00:42:00,526 --> 00:42:00,990 ALI: Ja. 840 00:42:00,990 --> 00:42:01,830 Es ist eine Art ähnlich. 841 00:42:01,830 --> 00:42:07,320 ROB: Ja, also, wenn Sie zu diesem Low-Level-Zeug, das sind 842 00:42:07,320 --> 00:42:10,870 die Arten von Operationen, die Sie zu tun haben. 843 00:42:10,870 --> 00:42:13,200 Auf Hardware-Ebene, werden Sie nur mit Bits umzugehen. 844 00:42:13,200 --> 00:42:14,950 Sie müssen nicht mit Zahlen umgehen. 845 00:42:18,030 --> 00:42:23,502 ALI: Okay, für ^, oder wenn Sie 1 haben ^ 0, was sollte, dass zu beurteilen? 846 00:42:23,502 --> 00:42:24,840 CLASS: 1. 847 00:42:24,840 --> 00:42:25,480 ALI: Cool. 848 00:42:25,480 --> 00:42:26,010 Wenn Sie 849 00:42:26,010 --> 00:42:28,370 0 ^ 1? CLASS: 1. 850 00:42:28,370 --> 00:42:29,490 ALI: Cool. 851 00:42:29,490 --> 00:42:32,050 0 ^ 0? 852 00:42:32,050 --> 00:42:32,470 Cool. 853 00:42:32,470 --> 00:42:33,460 Und dann 1 ^ 1? 854 00:42:33,460 --> 00:42:35,050 CLASS: 0. 855 00:42:35,050 --> 00:42:37,710 ALI: Cool, awesome. 856 00:42:37,710 --> 00:42:38,620 Der nächste - 857 00:42:38,620 --> 00:42:40,520 Rob: Ich denke, das sind alles, was wir zu tun haben. 858 00:42:40,520 --> 00:42:41,490 Wir werden nur nicht diese. 859 00:42:41,490 --> 00:42:43,242 ALI: Das einzige Mal, dass wir zu tun haben, werden - 860 00:42:43,242 --> 00:42:44,912 ROB: Oh, das wird für das letzte Problem sein. 861 00:42:44,912 --> 00:42:47,070 SPEAKER 27: Warten Sie noch einmal? 862 00:42:47,070 --> 00:42:47,940 ALI: Sorry, was war Ihre Frage? 863 00:42:47,940 --> 00:42:49,564 >> SPEAKER 27: Können Sie erklären, dass wieder einmal? 864 00:42:49,564 --> 00:42:50,100 Das ^? 865 00:42:50,100 --> 00:42:51,490 SPEAKER 27: Exclus - yeah. 866 00:42:51,490 --> 00:42:55,800 ALI: Also, was das exklusive ODER bedeutet, dass es hat ausschließlich 867 00:42:55,800 --> 00:43:02,970 eine wahre und eine falsche, so ein 1 und eine 0, verglichen mit OR, können Sie - 868 00:43:02,970 --> 00:43:06,170 einer von ihnen hat, um wahr zu sein, oder beide von ihnen wahr sein kann, denn es 869 00:43:06,170 --> 00:43:07,130 auf true zu bewerten. 870 00:43:07,130 --> 00:43:10,030 SPEAKER 27: So 0 und 0 wäre falsch. 871 00:43:10,030 --> 00:43:10,450 ALI: Ja. 872 00:43:10,450 --> 00:43:11,780 Aber wenn man 1 | 873 00:43:11,780 --> 00:43:14,290 1, das wäre zu true ausgewertet. 874 00:43:14,290 --> 00:43:18,210 Aber wenn man ein ^ 1 haben, wie wir, wertet das auf false. 875 00:43:18,210 --> 00:43:21,220 Weil es nicht nur ein wahr ist. 876 00:43:21,220 --> 00:43:26,930 ROB: Und das kann oder nicht hilfreich sein, aber beachten Sie, dass die ^ ist 877 00:43:26,930 --> 00:43:28,890 gleich nur unter der | 878 00:43:28,890 --> 00:43:30,290 minus &. 879 00:43:30,290 --> 00:43:32,250 Und man kann tatsächlich daran, auf diese Weise zu denken. 880 00:43:32,250 --> 00:43:37,290 ^ Ist nur Verknüpfung alles zusammen, aber den Abschluss eines der Bits, wo 881 00:43:37,290 --> 00:43:38,610 beide waren wahr. 882 00:43:38,610 --> 00:43:41,620 So & kehrt alles, wo beide wahr. 883 00:43:41,620 --> 00:43:45,850 | Kehrt alles, wo ein oder beide wahr sind. 884 00:43:45,850 --> 00:43:51,050 So Subtraktion, dass aus dem | gibt Ihnen die ^. 885 00:43:51,050 --> 00:43:52,040 ALI: Noch Fragen? 886 00:43:52,040 --> 00:43:53,290 Das war eine Menge von Informationen. 887 00:43:55,980 --> 00:43:57,510 Jeder gut? 888 00:43:57,510 --> 00:44:00,360 >> ROB: Wir können in den nächsten diejenigen für das nächste Problem gehen, Schrägstrich 889 00:44:00,360 --> 00:44:01,680 Wie spät ist es? 890 00:44:01,680 --> 00:44:04,010 Sie brauchen das nicht bis zum nächsten Problem. 891 00:44:04,010 --> 00:44:07,830 ALI: Ich dachte, es war dies ein. 892 00:44:07,830 --> 00:44:08,830 ROB: Es ist nicht. 893 00:44:08,830 --> 00:44:10,085 ALI: Sind Sie sicher? 894 00:44:10,085 --> 00:44:11,300 ROB: Ja, ich bin positiv. 895 00:44:11,300 --> 00:44:12,970 ALI: Warum gehen wir nicht tun beginnen das nächste Problem? 896 00:44:15,710 --> 00:44:19,790 Das Problem ist, wieder, um sie von Kleinbuchstaben in Großbuchstaben ändern, und dies 897 00:44:19,790 --> 00:44:21,720 Zeit zum bitweisen Operatoren verwenden. 898 00:44:21,720 --> 00:44:22,970 ROB: So werden wir - 899 00:44:25,290 --> 00:44:29,670 Beginnen wir mit der Binärdarstellung von 'A', Kapital 'A', 900 00:44:29,670 --> 00:44:31,750 das ist 65 Jahre. 901 00:44:31,750 --> 00:44:36,150 So in binary - 902 00:44:39,960 --> 00:44:47,900 so 'A' = 65, die in binärer = - 903 00:44:47,900 --> 00:44:51,380 Ich bin zu verwirren hinauf die Anzahl der 0s -, dass. 904 00:44:51,380 --> 00:44:53,670 ALI: So macht das Sinn für alle? 905 00:44:53,670 --> 00:44:57,620 So, 1, keine 2s, kein 4s, kein 8s, nein - 906 00:45:00,238 --> 00:45:07,075 keine 16s, 32s nicht, und dann ein 64. 907 00:45:07,075 --> 00:45:08,685 ROB: Ja, ich denke, das ist einer zuviel 0s. 908 00:45:08,685 --> 00:45:09,600 ALI: Sorry. 909 00:45:09,600 --> 00:45:13,410 >> ROB: Okay, so haben wir die 64 gesetzt, und wir haben die 1 Satz, und kombiniert diese 910 00:45:13,410 --> 00:45:16,030 zusammen, so erhalten wir 65. 911 00:45:16,030 --> 00:45:17,470 ALI: Cool Bohnen? 912 00:45:17,470 --> 00:45:19,640 ROB: So, jetzt, Kleinbuchstaben 'a'- 913 00:45:22,220 --> 00:45:24,260 bemerken, 97 - 914 00:45:24,260 --> 00:45:26,370 was ist der Unterschied zwischen 97 und 65? 915 00:45:26,370 --> 00:45:27,530 SPEAKER 28: 32. 916 00:45:27,530 --> 00:45:28,130 ROB: Yeah. 917 00:45:28,130 --> 00:45:35,920 So ist es 32 ist, das ist seine eigene bit, so, das wird 110.001 sein. 918 00:45:35,920 --> 00:45:41,200 Und das wird für alle möglichen Zeichen wahr. 919 00:45:41,200 --> 00:45:49,800 Also, wenn wir von 'D', das werde 68 sein wird denken, das geht zu 1.000.011 sein. 920 00:45:49,800 --> 00:45:56,310 Und dann Kleinbuchstaben 'd' wird 68 plus 32, die 100 ist, das ist sein 921 00:45:56,310 --> 00:46:00,010 werde die gleiche Sache, dass dies sein, das Umdrehen der 922 00:46:00,010 --> 00:46:04,300 32 wieder, so 1.100.011. 923 00:46:04,300 --> 00:46:08,610 So ist der Unterschied zwischen einem Groß-und Kleinbuchstaben wird das Umdrehen 924 00:46:08,610 --> 00:46:10,170 dass 32-Bit-Position. 925 00:46:10,170 --> 00:46:17,670 SPEAKER 29: Ist es nicht 1000100? 926 00:46:17,670 --> 00:46:19,670 ROB: Warte, es ist 100 - 927 00:46:19,670 --> 00:46:20,480 etwas, was ich falsch gemacht habe. 928 00:46:20,480 --> 00:46:21,730 Das war nicht wahr. 929 00:46:28,710 --> 00:46:31,150 Ich dachte, dass es ein Unterschied von 3 war, so dann habe ich einfach stecken 930 00:46:31,150 --> 00:46:33,970 der binäre 3 am Ende. 931 00:46:33,970 --> 00:46:36,710 Dies sollte richtig sein. 932 00:46:36,710 --> 00:46:37,150 ALI: Danke. 933 00:46:37,150 --> 00:46:38,080 Gute für den Hinweis. 934 00:46:38,080 --> 00:46:40,320 Das war scharf. 935 00:46:40,320 --> 00:46:43,450 Alles klar, ist, dass den Menschen klar? 936 00:46:43,450 --> 00:46:45,700 >> ROB: Der Unterschied zwischen der Groß-und Kleinschreibung Version 937 00:46:45,700 --> 00:46:49,250 immer nur gehen zu 32 sein, und so ist es immer ein einzelnes Bit sein 938 00:46:49,250 --> 00:46:51,840 die sich bei geklappt werden, um zwischen den beiden zu ändern. 939 00:46:51,840 --> 00:46:54,330 ALI: Also in diesem Fall, zu wissen, den Unterschied zwischen der Hauptstadt A und 940 00:46:54,330 --> 00:46:57,130 die Kleinbuchstaben a ist eine gute Sache. 941 00:46:57,130 --> 00:47:01,950 Nicht in Ihrem Code, aber konzeptionell zumindest ist es gut. 942 00:47:01,950 --> 00:47:05,880 So you guys können weiter gehen und Code, in Spaces jetzt. 943 00:47:05,880 --> 00:47:08,580 Oder sollten wir nur darüber reden? 944 00:47:08,580 --> 00:47:09,760 ROB: Wir können nur darüber reden. 945 00:47:09,760 --> 00:47:10,680 Ich weiß nicht. 946 00:47:10,680 --> 00:47:11,680 You guys ausprobieren können. 947 00:47:11,680 --> 00:47:13,560 Diskussion unter sich ein bisschen. 948 00:47:13,560 --> 00:47:16,390 Wir geben Ihnen eine Chance, es zu codieren. 949 00:47:16,390 --> 00:47:17,640 [Zwischenschaltung VOICES] 950 00:47:19,785 --> 00:47:22,695 ALI: - ist cool 951 00:47:22,695 --> 00:47:26,590 SPEAKER 30: Das ist wie Hacker-Komödie. 952 00:47:26,590 --> 00:47:31,060 ALI: Ja, wir nur sagen, die Nachrichten, durchläuft es. 953 00:47:31,060 --> 00:47:32,310 >> Rob: Und wir sind wieder da. 954 00:47:34,950 --> 00:47:35,405 ALI: Das ist irgendwie seltsam. 955 00:47:35,405 --> 00:47:38,720 Ich fühle mich wie wir eine CS50 Nachrichtensender haben sollte und wir konnten 956 00:47:38,720 --> 00:47:41,500 tatsächlich so sitzen. 957 00:47:41,500 --> 00:47:43,500 ROB: Hacker News. 958 00:47:43,500 --> 00:47:46,848 ALI: Hacker News 50. 959 00:47:46,848 --> 00:47:49,210 ALI: Fühlen Sie sich frei, Fragen zu stellen, wenn Sie verwirrt sind. 960 00:47:52,280 --> 00:47:53,980 ROB: Ist jemand stecken? 961 00:47:53,980 --> 00:47:57,160 ALI: Ja, das ist eine gute Sache. 962 00:47:57,160 --> 00:47:58,590 ALI: Wait, sind Sie in Ihrem Stuhl stecken? 963 00:47:58,590 --> 00:48:01,010 Oh. 964 00:48:01,010 --> 00:48:02,260 Ich war ein wenig besorgt. 965 00:48:06,670 --> 00:48:12,150 ROB: Weil ich merkte nur, dass wir gehen zu wollen, 966 00:48:12,150 --> 00:48:13,300 anderen bitweisen Operator. 967 00:48:13,300 --> 00:48:16,985 Denn jetzt, lasst uns einfach konvertieren Großbuchstaben in Kleinbuchstaben. 968 00:48:23,280 --> 00:48:25,220 ALI: Sorry, habe jeder bekommen diese Ankündigung? 969 00:48:25,220 --> 00:48:27,755 Wir gehen von Großbuchstaben gehen in Kleinbuchstaben. 970 00:48:27,755 --> 00:48:30,990 ROB: Dann werden wir diskutieren, Kleinbuchstaben gleich nach, dass Großbuchstaben. 971 00:48:33,820 --> 00:48:36,650 Oh, nein. 972 00:48:36,650 --> 00:48:39,560 Wir haben einen Fehler in diese, die, glaube ich, haben wir nie versucht zu laufen. 973 00:48:39,560 --> 00:48:44,140 Welche ist nur, dass char c außerhalb der Schleife deklariert werden muss, weil 974 00:48:44,140 --> 00:48:45,805 Der Anwendungsbereich ist in der Schleife beschränkt. 975 00:48:49,200 --> 00:48:53,060 SPEAKER 32: In diesem Fall ist es falsch, eine Reihe verwenden? 976 00:48:53,060 --> 00:48:56,930 ROB: Eh, Sie brauchen nicht zu. 977 00:48:56,930 --> 00:49:02,040 Wenn ich Sie garantiert, dass das Kapital 'A'- oder Kleinbuchstaben' a 'minus großes' A ' 978 00:49:02,040 --> 00:49:09,340 war genau das ein bisschen, aber dass Sie nicht wissen, dass es 32 - 979 00:49:09,340 --> 00:49:13,160 Dinge genauso gut funktionieren, wenn es die 16-Bit, wurde umgedreht wurden - oder 980 00:49:13,160 --> 00:49:14,610 nein, ich denke, es wouldn't - 981 00:49:14,610 --> 00:49:18,270 oder die 64-Bit wurden umgedreht, vielleicht. 982 00:49:18,270 --> 00:49:23,230 Aber Sie sollten nicht brauchen, um 32 zu verwenden. 983 00:49:23,230 --> 00:49:26,141 Sie könnten stattdessen Kleinbuchstaben 'a' minus Kapital 'A'. 984 00:49:26,141 --> 00:49:29,340 >> SPEAKER 32: Okay. 985 00:49:29,340 --> 00:49:32,996 Was Sie tun können, wenn Sie wie Sie zu viel Schreibgefühl ist, können Sie es definieren 986 00:49:32,996 --> 00:49:33,435 an der Spitze. 987 00:49:33,435 --> 00:49:41,830 So können Sie sicher sein, wie, int Differenz = Kleinbuchstaben 'a' minus Kapital 'A'. Und 988 00:49:41,830 --> 00:49:43,980 dann kannst du Differenz statt geben. 989 00:49:43,980 --> 00:49:45,110 Das ist gültig. 990 00:49:45,110 --> 00:49:48,002 Aber nur mit der Nummer 32 ist eine Art - 991 00:49:48,002 --> 00:49:51,104 SPEAKER 33: Auch wenn es aufgrund der Tatsache, dass es die 32-Bit ist es? 992 00:49:51,104 --> 00:49:52,570 ALI: Ja. 993 00:49:52,570 --> 00:49:54,960 ROB: Es könnte - 994 00:49:54,960 --> 00:49:57,780 die einzige Garantie, die wir brauchen, um Sie machen, ist, dass die Differenz zwischen dem 995 00:49:57,780 --> 00:49:59,480 Groß-und Kleinschreibung ist ein Bit. 996 00:49:59,480 --> 00:50:04,670 Es sollte keine Rolle, dass es für die 32-Bit, ist umgedreht werden passiert. 997 00:50:04,670 --> 00:50:06,610 Für die Zeit Überlegungen, beginnen wir gehen über diese. 998 00:50:09,170 --> 00:50:10,370 Es ist okay, wenn Sie nicht abgeschlossen haben. 999 00:50:10,370 --> 00:50:13,090 Machen Sie sich deswegen keine Sorgen. 1000 00:50:13,090 --> 00:50:16,260 ROB: Angenommen c ist ein Großbuchstabe - 1001 00:50:16,260 --> 00:50:18,030 haben wir nicht davon ausgehen, c ist ein Großbuchstabe. 1002 00:50:18,030 --> 00:50:20,750 Wir wissen, c ist ein Großbuchstabe nach dieser while-Schleife - 1003 00:50:20,750 --> 00:50:22,160 do-while-Schleife. 1004 00:50:22,160 --> 00:50:28,590 Das heißt also, es sieht so etwas wie dieses 'A'. Also, wenn wir wollen, dies zu bringen 1005 00:50:28,590 --> 00:50:32,895 'A' dieser 'a', was wir tun müssen? 1006 00:50:36,890 --> 00:50:41,920 Wie können wir also zu konvertieren und klappen Sie den bit? 1007 00:50:48,040 --> 00:50:49,450 ALI: Wie gehen wir drehen Sie sie? 1008 00:50:49,450 --> 00:50:53,010 >> ROB: So wissen wir, wollen wir die 32-Bit-Flip. 1009 00:50:53,010 --> 00:50:59,722 Also das tun wird 'a' minus 'A', oder wir könnten 32 schreiben, aber - 1010 00:50:59,722 --> 00:51:03,090 verdammt, es ist anders herum. 1011 00:51:03,090 --> 00:51:07,250 ALI: Okay, so Rob hier ist der Berechnung dieser Zahl, magische Zahl 32. 1012 00:51:07,250 --> 00:51:12,000 Also ist er herauszufinden, wo die Bit-Flip-Bereich wäre. 1013 00:51:12,000 --> 00:51:14,810 Und dann, was wir gebracht, wo die Fragezeichen sind? 1014 00:51:14,810 --> 00:51:16,740 ROB: Wie können wir drehen, dass etwas? 1015 00:51:16,740 --> 00:51:22,784 Im Hinblick auf die Großbuchstaben, ist es eine 0, und wir wollen eine 1 geworden. 1016 00:51:22,784 --> 00:51:23,660 SPEAKER 34: |. 1017 00:51:23,660 --> 00:51:24,910 ROB: Yeah. 1018 00:51:28,780 --> 00:51:38,190 Also das ist uns zu sagen, wir nehmen 'A'. Wir Verknüpfung mit 0 - 1019 00:51:38,190 --> 00:51:40,750 1000 - 1020 00:51:40,750 --> 00:51:44,720 und dass = das. 1021 00:51:44,720 --> 00:51:45,930 ALI: Ist das sinnvoll für alle? 1022 00:51:45,930 --> 00:51:48,812 Wir können durch sie etwas gehen nach und nach, wenn Sie wollen. 1023 00:51:52,030 --> 00:51:56,300 SPEAKER 35: Sind Sie [unverständlich]? 1024 00:51:56,300 --> 00:51:57,590 ALI: Wo ist das Minuszeichen? 1025 00:51:57,590 --> 00:51:58,500 ROB: Oh, du meinst hier? 1026 00:51:58,500 --> 00:51:59,070 ALI: Oh, yeah. 1027 00:51:59,070 --> 00:52:00,140 ROB: Also ich denke, das ist uns. 1028 00:52:00,140 --> 00:52:05,670 Wir könnten sagen, 32, und jetzt sind wir nur mit bitweisen Operatoren. 1029 00:52:05,670 --> 00:52:07,010 ALI: Wir mögen keine magischen Zahlen. 1030 00:52:07,010 --> 00:52:10,460 Wir gehen nicht zu tun. 1031 00:52:10,460 --> 00:52:13,592 Auch ich denke, wir sollten einfach einen bitweisen Operator - 1032 00:52:13,592 --> 00:52:19,042 SPEAKER 36: Wenn Sie ein ^ A zu verwenden, erhalten Sie 32? 1033 00:52:19,042 --> 00:52:19,980 SPEAKER 37: Ja, ich denke - 1034 00:52:19,980 --> 00:52:21,090 ROB: Yeah man so will. 1035 00:52:21,090 --> 00:52:23,320 ALI: Dies ist, wie Sie es für den Gang getan haben 1036 00:52:23,320 --> 00:52:25,370 aus der Kapitalkonsolidierung in Kleinbuchstaben. 1037 00:52:25,370 --> 00:52:31,130 >> Jetzt kann mir jemand sagen, warum Rob und ich änderte die Eingabeaufforderung und wie gingen wir 1038 00:52:31,130 --> 00:52:34,040 von Groß-Kleinschreibung, statt Kleinbuchstaben um 1039 00:52:34,040 --> 00:52:37,810 Großbuchstaben wie früher? 1040 00:52:37,810 --> 00:52:44,520 Hat jemand irgendwelche Ideen, warum das sein könnte schwieriger? 1041 00:52:44,520 --> 00:52:44,880 ROB: So würden wir tun - 1042 00:52:44,880 --> 00:52:46,178 ALI: Yeah, go ahead. 1043 00:52:46,178 --> 00:52:49,640 SPEAKER 38: Der Operator | war nur wirklich gut für das Hinzufügen. 1044 00:52:49,640 --> 00:52:51,200 ALI: Ja, genau. 1045 00:52:51,200 --> 00:52:58,320 ROB: Also, was wir wollen, in der Kleinbuchstaben tun, um bei Großbuchstaben ist, 1046 00:52:58,320 --> 00:53:00,175 wandeln diese 'a'- 1047 00:53:08,540 --> 00:53:14,820 so wollen wir in einigen Zahlen hier setzen und verwenden einige Betreiber, so dass es 1048 00:53:14,820 --> 00:53:21,910 aus dem Kapital A. Wir sind immer noch wahrscheinlich mit 32 irgendwie, aber jetzt, wie tun wir 1049 00:53:21,910 --> 00:53:25,280 bekomme zu kommen, um das? 1050 00:53:40,910 --> 00:53:42,750 So c - 1051 00:53:42,750 --> 00:53:44,000 oh, ich will noch, dass zu - 1052 00:53:46,940 --> 00:53:51,055 ALI: So jetzt, wenn wir von Klein-Umwandlung wieder in Großbuchstaben, dann werden wir 1053 00:53:51,055 --> 00:53:55,170 tun ^ Betrieb, wie euch gesagt. 1054 00:53:55,170 --> 00:53:57,650 ROB: Es gibt auch andere Möglichkeiten, wie Sie Dinge tun kann. 1055 00:53:57,650 --> 00:54:01,680 Ein großer Teil der bitweisen Operatoren am Ende als sehr leicht definierbaren in Bezug 1056 00:54:01,680 --> 00:54:03,460 von anderen Bit-Operatoren. 1057 00:54:03,460 --> 00:54:11,150 So wollte ich nicht ^ oder alle, aber ^ funktionierte perfekt in Ordnung. 1058 00:54:11,150 --> 00:54:17,910 >> ALI: Okay, so werden wir in der letzten Problem, das die grundlegenden ist zu gehen - 1059 00:54:17,910 --> 00:54:22,390 das letzte Problem ist, etwas in binäre umzuwandeln. 1060 00:54:22,390 --> 00:54:26,350 So, zum Beispiel, haben Sie 50, und dann konvertieren Sie sie in 1061 00:54:26,350 --> 00:54:31,400 binär, was 110.010 ist. 1062 00:54:31,400 --> 00:54:36,010 Und ich denke, you guys alle kennen binary aus der Vorlesung. 1063 00:54:36,010 --> 00:54:39,270 Und Sie haben auch sollen nicht alle führenden 0s hineinsteckt. 1064 00:54:39,270 --> 00:54:41,460 ROB: Sie können diesen Teil jetzt ignorieren. 1065 00:54:41,460 --> 00:54:45,250 Der erste Durchlauf, können Sie es tun, dass es führende 0s. 1066 00:54:45,250 --> 00:54:49,200 Und dann können wir ändern, dass keinen führenden 0s haben, wenn wir Zeit haben. 1067 00:54:49,200 --> 00:54:50,630 ALI: Also keine Sorgen machen. 1068 00:54:50,630 --> 00:54:52,620 Versuchen Sie einfach, in binärer bekommen. 1069 00:54:55,880 --> 00:54:59,855 Ein guter Ort, um zu starten wäre - 1070 00:54:59,855 --> 00:55:02,010 ROB: Wir müssen für eine ganze Zahl zu fragen. 1071 00:55:02,010 --> 00:55:03,150 ALI: Oh ja, das ist ein guter. 1072 00:55:03,150 --> 00:55:04,170 Wir können damit anfangen. 1073 00:55:04,170 --> 00:55:06,870 So können Sie die Eingabeaufforderung. 1074 00:55:06,870 --> 00:55:08,840 Also anstatt eines Zeichens, jetzt sind wir mit Zahlen zu tun haben. 1075 00:55:13,670 --> 00:55:14,920 Cool? 1076 00:55:20,630 --> 00:55:25,300 >> ROB: Und jetzt, was ist unser do-while-Bedingung sein wird? 1077 00:55:25,300 --> 00:55:27,750 Es ist für eine nicht-negative ganze Zahl fragen. 1078 00:55:31,080 --> 00:55:34,280 ALI: Wann müssen wir halten den Benutzer zur Eingabe etwas anderes wollen? 1079 00:55:34,280 --> 00:55:35,950 Wenn sie kleiner als 0 ist. 1080 00:55:35,950 --> 00:55:36,760 ALI: Richtig. 1081 00:55:36,760 --> 00:55:38,010 ROB: Während i kleiner als 0 ist. 1082 00:55:41,090 --> 00:55:45,120 ALI: Jetzt wollen wir es zu konvertieren. 1083 00:55:45,120 --> 00:55:48,150 Habt ihr irgendwelche Ideen, was zu tun ist? 1084 00:55:48,150 --> 00:55:49,400 Alle Ahnungen? 1085 00:55:53,610 --> 00:55:54,984 Yeah. 1086 00:55:54,984 --> 00:55:57,344 SPEAKER 39: Haben wir es zu konvertieren, oder können wir einfach ausdrucken einige 0s und 1s 1087 00:55:57,344 --> 00:55:58,760 das wäre die richtige Zahl sein? 1088 00:55:58,760 --> 00:56:02,070 Können Sie eine for-Schleife und zählen durch Potenzen von 2? 1089 00:56:02,070 --> 00:56:03,320 ROB: Ja. 1090 00:56:05,750 --> 00:56:08,425 Sie brauchen nicht zu i seine Binär umrechnen - 1091 00:56:08,425 --> 00:56:13,720 die binäre Repräsentation des i nicht Innenseite i passen. 1092 00:56:13,720 --> 00:56:19,090 Sie müssen nur die binäre Darstellung von i zu drucken. 1093 00:56:19,090 --> 00:56:21,010 ALI: Mit anderen Worten, Sie brauchen nicht durch Zweierpotenzen gehen. 1094 00:56:21,010 --> 00:56:23,710 ROB: Weil ich bereits als Binärdateien gespeichert werden, so dass Sie nicht brauchen, um 1095 00:56:23,710 --> 00:56:25,110 wandeln es in binär. 1096 00:56:25,110 --> 00:56:27,260 Knapp über seinen binären gehen und ausdrucken. 1097 00:56:30,080 --> 00:56:32,140 Und Sie gehen zu müssen, bitweise zu verwenden, da Sie sehen möchten 1098 00:56:32,140 --> 00:56:33,390 die tatsächlichen Bits. 1099 00:56:37,060 --> 00:56:38,600 Sie brauchen nicht zu bitweise benutzen, aber bitte tun. 1100 00:56:44,130 --> 00:56:47,160 Und das ist eigentlich - 1101 00:56:47,160 --> 00:56:50,200 Sie können nur tun Zweierpotenzen durch Multiplikation mit 2. 1102 00:56:50,200 --> 00:56:55,120 Wir werden über eine der letzten beiden binären bitweisen Operatoren gehen, 1103 00:56:55,120 --> 00:56:56,410 was ist dies ein. 1104 00:56:56,410 --> 00:56:58,730 Also, wenn Sie nehmen - 1105 00:56:58,730 --> 00:57:00,083 >> ALI: Können Sie durch beide von ihnen gehen? 1106 00:57:00,083 --> 00:57:01,440 ROB: Yeah. 1107 00:57:01,440 --> 00:57:03,050 Also lasst uns mit 9 gehen. 1108 00:57:03,050 --> 00:57:05,210 So 9 Linksverschiebung 1 - 1109 00:57:05,210 --> 00:57:12,220 was Verschiebung nach links Mittel bewegen Sie einfach alle Bits auf der linken Seite und legen Sie eine 0 ein. 1110 00:57:12,220 --> 00:57:15,530 So dass wir Verschieben aller Bits des 9 nach links ein 1111 00:57:15,530 --> 00:57:20,240 Position, die uns - 1112 00:57:26,530 --> 00:57:31,570 So bemerken wir verschoben haben alles verlassen ein, und er fügte einen 0 auf der 1113 00:57:31,570 --> 00:57:32,730 rechte Seite. 1114 00:57:32,730 --> 00:57:36,755 Wenn wir verschoben verlassen hatte durch zwei, würden wir verschieben alles durch zwei links, 1115 00:57:36,755 --> 00:57:41,950 und legen Sie zwei 0s, um die Lücken zu füllen. 1116 00:57:41,950 --> 00:57:43,200 Question? 1117 00:57:44,890 --> 00:57:47,510 ALI: Also Verschiebung nach rechts macht eine ähnliche Sache. 1118 00:57:47,510 --> 00:57:53,190 Wenn Sie 9 rechte Shift-1 haben dann sind Sie gerade bewegt alles an 1119 00:57:53,190 --> 00:57:57,890 das Recht, verlieren Sie eine Ziffer, so 100 statt. 1120 00:57:57,890 --> 00:58:04,142 ROB: Also es ist in Ordnung, dass Sie verlieren das Bit, das an alle zufällig 1121 00:58:04,142 --> 00:58:05,200 der Weg nach rechts. 1122 00:58:05,200 --> 00:58:08,850 Es gibt verschiedene Arten von Recht Verschiebungen, aber im Grunde können Sie denken 1123 00:58:08,850 --> 00:58:11,410 rechts nur Teilung verschieben um 2. 1124 00:58:11,410 --> 00:58:14,430 Und Sie können der Linksverschiebung als Multiplikation mit 2 denken. 1125 00:58:14,430 --> 00:58:16,490 Also, wenn Sie umgewandelt dies - 1126 00:58:16,490 --> 00:58:22,350 wenn Sie umgewandelt 9 Schicht 1, die gleich 10010 ist, wenn Sie ging eigentlich 1127 00:58:22,350 --> 00:58:25,100 durch die binäre und herausgefunden, was das war, wäre es nur 18 sein. 1128 00:58:25,100 --> 00:58:26,880 Wir haben gerade mit 2 multiplizieren. 1129 00:58:26,880 --> 00:58:30,982 1001 Linksverschiebung 2 wird 36 sein. 1130 00:58:30,982 --> 00:58:32,400 Wir sind von 4 zu multiplizieren. 1131 00:58:41,740 --> 00:58:45,360 Okay, cool, das ist also ein handliches bitweisen Operator für diese ein. 1132 00:58:52,570 --> 00:58:53,330 Weitere Verwirrung? 1133 00:58:53,330 --> 00:58:54,870 Wollt ihr Jungs, es auszuprobieren? 1134 00:58:54,870 --> 00:58:58,970 Oder wir können gerade nach rechts in springen und starten Sie es? 1135 00:58:58,970 --> 00:59:01,140 ROB: Wir sollten wahrscheinlich Recht in. springen 1136 00:59:01,140 --> 00:59:01,880 ALI: Ja, Okay. 1137 00:59:01,880 --> 00:59:03,370 Rob: Und gehen durch sie zusammen. 1138 00:59:03,370 --> 00:59:04,440 >> ALI: Nun, ich werde einfach hinein gehen. 1139 00:59:04,440 --> 00:59:09,700 So wie er am Anfang gesagt, wir gehen nur bis Bit gehen, indem Bit. 1140 00:59:09,700 --> 00:59:11,890 So werden wir eine Schleife benötigen. 1141 00:59:11,890 --> 00:59:16,730 Hat jemand eine Idee, die beste Art der Schleife durch diese gehen? 1142 00:59:16,730 --> 00:59:20,544 Wir haben while-Schleifen, do-while-Schleifen, For-Schleifen. 1143 00:59:20,544 --> 00:59:22,400 SPEAKER 40: Do-while-Schleife? 1144 00:59:22,400 --> 00:59:25,150 ROB: Also denken Sie daran, was ich vor etwa sagte, sind wir nur mit do-while- 1145 00:59:25,150 --> 00:59:27,390 Schleifen, um Benutzereingaben. 1146 00:59:27,390 --> 00:59:30,890 Du wirst nie so ziemlich immer nutzen sie für irgendetwas anderes. 1147 00:59:30,890 --> 00:59:33,660 ALI: Das Problem mit do-while-Schleifen ist es etwas tut, bevor es für überprüft 1148 00:59:33,660 --> 00:59:34,470 die Bedingung. 1149 00:59:34,470 --> 00:59:36,540 So könnte es etwas schlecht - 1150 00:59:36,540 --> 00:59:38,640 möchten, verletzt - 1151 00:59:38,640 --> 00:59:40,350 etwas tun, was nicht möglich ist. 1152 00:59:40,350 --> 00:59:42,290 Sie wollen also, zuerst zu prüfen. 1153 00:59:42,290 --> 00:59:47,620 ROB: Es gibt eine Menge von Fällen, wo Sie do-while-Schleifen, aber die Menschen 1154 00:59:47,620 --> 00:59:52,120 erwarte nicht, dass Sie sie verwenden, es sei denn Benutzereingaben ist. 1155 00:59:52,120 --> 00:59:54,215 So haben wir nutzten unsere do-while-Schleife i erhalten. 1156 00:59:57,160 --> 01:00:01,260 Wie oft wird unsere Schleife gehen auf Loopback wollen? 1157 01:00:01,260 --> 01:00:04,060 Wir wollen Schleife über jedes der Bits von i. 1158 01:00:04,060 --> 01:00:06,302 Wie viele Bits sind in i? 1159 01:00:06,302 --> 01:00:07,266 SPEAKER 41: 32. 1160 01:00:07,266 --> 01:00:07,750 ALI: Ja. 1161 01:00:07,750 --> 01:00:09,850 ROB: Es gibt also 32 Bits. 1162 01:00:09,850 --> 01:00:12,920 Wir wollen nicht 32 sagen. 1163 01:00:12,920 --> 01:00:16,230 Wir hingegen wollen sizeof sagen - 1164 01:00:16,230 --> 01:00:18,226 die, Sie haben gesehen, dass in der Klasse noch? 1165 01:00:18,226 --> 01:00:19,100 ALI: Nope. 1166 01:00:19,100 --> 01:00:20,380 ROB: Warum ist es zu sagen, dass verwenden - 1167 01:00:20,380 --> 01:00:22,160 sizeof (int) mal 8 - 1168 01:00:22,160 --> 01:00:23,530 ALI: Also, das ist sizeof - 1169 01:00:23,530 --> 01:00:27,050 >> SPEAKER 42: [unverständlich] 1170 01:00:27,050 --> 01:00:27,440 ALI: Interessant. 1171 01:00:27,440 --> 01:00:31,610 So ist sizeof eine eingebaute C-Funktion, wo es nur sagt Ihnen der 1172 01:00:31,610 --> 01:00:32,500 Anzahl der Bits in - 1173 01:00:32,500 --> 01:00:33,220 ROB: Bytes. 1174 01:00:33,220 --> 01:00:34,210 ALI: Bytes, sorry - 1175 01:00:34,210 --> 01:00:39,990 die Anzahl von Bytes, die eine Variable, um einen Wert zu speichern. 1176 01:00:39,990 --> 01:00:46,205 So denke ich, ging er in der Klasse, dann ist ein int 4 Byte vielleicht. 1177 01:00:46,205 --> 01:00:46,610 Cool? 1178 01:00:46,610 --> 01:00:50,610 ROB: Aber Sie sollten nicht zu wissen, dass ein int 4 Byte. 1179 01:00:50,610 --> 01:00:52,670 Sie sollten in der Lage sein zu sagen - 1180 01:00:52,670 --> 01:00:55,870 Sie verwenden sollten, sizeof (int) auf 4 Byte zu bekommen. 1181 01:00:55,870 --> 01:00:59,170 Und das ist wirklich wichtig für einige Dinge. 1182 01:00:59,170 --> 01:01:01,650 Ein int vielleicht nicht 4 Byte sein. 1183 01:01:01,650 --> 01:01:04,050 Auf einem anderen Computer könnte ein int 8 Bytes sein. 1184 01:01:04,050 --> 01:01:08,500 So wird Ihr Programm nicht auf dem Computer arbeiten, weil Sie hartcodierte 32 1185 01:01:08,500 --> 01:01:12,230 Bits, wenn auf dem Computer geschieht mit 64 Bits sein. 1186 01:01:12,230 --> 01:01:15,260 ALI: So haben Sie die Gesamtzahl der Bits, die Sie wollen, dass es umzukehren. 1187 01:01:15,260 --> 01:01:17,480 ROB: Und der Differenz zwischen einem Byte und einem Bit ist, dass es 1188 01:01:17,480 --> 01:01:19,100 sind 8 Bits in einem Byte. 1189 01:01:19,100 --> 01:01:22,110 So sizeof (int) liefert 4 Byte, dann müssen wir, dass multiplizieren 1190 01:01:22,110 --> 01:01:24,420 von 8 bis 32 erhalten Bits. 1191 01:01:24,420 --> 01:01:27,680 >> ALI: Okay, damit wir wissen, die maximale und wir wissen, dass wir aus gehen wollen - 1192 01:01:27,680 --> 01:01:29,260 Wir wollen durch alle von ihnen gehen. 1193 01:01:29,260 --> 01:01:32,950 So wollen wir von 0 bis numBits gehen. 1194 01:01:32,950 --> 01:01:37,160 So weiß jemand, wie man die Schleife für zu schreiben? 1195 01:01:37,160 --> 01:01:37,790 Anyone? 1196 01:01:37,790 --> 01:01:39,680 SPEAKER 43: [unverständlich] 1197 01:01:39,680 --> 01:01:44,130 ALI: Sie wollen also die Anzahl i von der nullten Bit zu durchqueren, um die 1198 01:01:44,130 --> 01:01:47,840 erste Bit, das zweite Bit, das dritte Bit, den ganzen Weg zu numBits. 1199 01:01:47,840 --> 01:01:50,972 Die maximale Anzahl von Bits, die Sie bekommen können. 1200 01:01:54,420 --> 01:01:57,780 ROB: Was ist der gemeinsame Schleife benutzen wir, was wir zu etwas x-mal tun? 1201 01:01:57,780 --> 01:01:58,280 ALI: Für. 1202 01:01:58,280 --> 01:01:59,280 Perfect. 1203 01:01:59,280 --> 01:02:00,440 So haben wir für. 1204 01:02:00,440 --> 01:02:05,242 Und dann erstellen wir einen Iterator, der nicht geht, i sein. 1205 01:02:05,242 --> 01:02:06,850 ROB: j. 1206 01:02:06,850 --> 01:02:08,080 ALI: J = 0 ist. 1207 01:02:08,080 --> 01:02:09,740 Also werden wir bei 0 beginnen. 1208 01:02:09,740 --> 01:02:13,110 Und dann werden wir den Zustand, um sicherzustellen, haben, während Sie 1209 01:02:13,110 --> 01:02:14,968 durchläuft es jedes einzelne Mal - 1210 01:02:14,968 --> 01:02:16,960 [Zwischenschaltung VOICES] 1211 01:02:16,960 --> 01:02:17,960 ROB: j. 1212 01:02:17,960 --> 01:02:19,970 ALI: j kleiner als numBits. 1213 01:02:19,970 --> 01:02:23,680 So wollen wir nicht um den tatsächlichen entspricht einer tun, weil sie numBits sind 1214 01:02:23,680 --> 01:02:25,365 insgesamt, und wir beginnen bei 0. 1215 01:02:25,365 --> 01:02:26,360 Daher freuen wir uns tatsächlich gehen zu müssen - 1216 01:02:26,360 --> 01:02:27,400 SPEAKER 44: Oh. 1217 01:02:27,400 --> 01:02:29,300 ALI: Die Indizes nicht an numBits minus 1 zu beenden. 1218 01:02:29,300 --> 01:02:34,070 ROB: Wir bezeichnen die Bits 0 bis 31, wir nicht beschriften 1 bis 32. 1219 01:02:34,070 --> 01:02:36,970 ALI: Und dann werden wir jedes Mal um eins erhöht, weil wir es wollen 1220 01:02:36,970 --> 01:02:38,050 überprüfen jeden einzelnen. 1221 01:02:38,050 --> 01:02:39,851 So gehen wir j + +. 1222 01:02:39,851 --> 01:02:42,740 >> SPEAKER 45: Warum tust du das? 1223 01:02:42,740 --> 01:02:46,100 SPEAKER 46: Warum gehst du durch jeden etwas? 1224 01:02:46,100 --> 01:02:49,310 ROB: So wollen wir durch jedes Bit zu gehen und - 1225 01:02:52,780 --> 01:02:55,100 So sagen wir, wir haben eine Nummer. 1226 01:02:55,100 --> 01:02:56,195 ALI: 68. 1227 01:02:56,195 --> 01:02:57,470 ROB: Wir können 68 verwenden. 1228 01:02:57,470 --> 01:03:00,450 So die binäre geht um 100.100 sein. 1229 01:03:00,450 --> 01:03:05,540 Das ist also innerhalb von i und wir wollen über jedes dieser Bits gehen. 1230 01:03:05,540 --> 01:03:06,450 Ist es eine 1? 1231 01:03:06,450 --> 01:03:07,320 Drucken 1. 1232 01:03:07,320 --> 01:03:08,120 Ist es ein 0? 1233 01:03:08,120 --> 01:03:09,100 Drucken 0. 1234 01:03:09,100 --> 01:03:10,530 Dann gehen wir auf die nächste Bit. 1235 01:03:10,530 --> 01:03:11,210 Ist es eine 1? 1236 01:03:11,210 --> 01:03:11,610 Drucken 1. 1237 01:03:11,610 --> 01:03:11,830 Ist ein 0? 1238 01:03:11,830 --> 01:03:13,080 Drucken 0. 1239 01:03:14,880 --> 01:03:16,710 ALI: Cool, okay. 1240 01:03:16,710 --> 01:03:22,880 Jetzt sind wir an der richtigen Index für, wo das Bit ist. 1241 01:03:25,380 --> 01:03:28,080 Wie können wir überprüfen, dass bestimmte ein? 1242 01:03:28,080 --> 01:03:33,130 Lassen Sie uns sagen, dass wir bei j = 0, so wollen wir die 0 Index des Bits zu überprüfen. 1243 01:03:33,130 --> 01:03:37,980 Also, in diesem Fall diese. 1244 01:03:37,980 --> 01:03:41,930 >> So jetzt, wie wissen wir über Check - oh, wäre es dieses. 1245 01:03:41,930 --> 01:03:42,810 ROB: Yeah. 1246 01:03:42,810 --> 01:03:44,310 ALI: Sorry. 1247 01:03:44,310 --> 01:03:47,930 Wie würden wir über die Überprüfung, dass ein zu gehen, in einem gewissen Sinn? 1248 01:03:47,930 --> 01:03:52,030 Wie würden wir prüfen, ob es sich um eine 0 oder eine 1 ist? 1249 01:03:52,030 --> 01:03:52,730 Nun let's - 1250 01:03:52,730 --> 01:03:53,940 CLASS: And 1? 1251 01:03:53,940 --> 01:03:54,390 ALI: Und? 1252 01:03:54,390 --> 01:03:55,010 Yeah. 1253 01:03:55,010 --> 01:03:57,810 ROB: So sagen wir, wir haben bereits ein. 1254 01:03:57,810 --> 01:04:02,470 Dann ist dies &, wird diese zurück, ob es sich um eine 1 oder eine 0 war. 1255 01:04:05,580 --> 01:04:08,200 ALI: So können wir nach unten gehen. 1256 01:04:08,200 --> 01:04:10,695 Und wir können tun, was euch gesagt, tun das & Funktion. 1257 01:04:13,810 --> 01:04:15,560 ROB: int - 1258 01:04:15,560 --> 01:04:18,290 wie will ich das zu sagen - 1259 01:04:18,290 --> 01:04:24,250 Isone = i. 1260 01:04:24,250 --> 01:04:29,770 Und für das erste Bit wir zufällig an zu suchen, wir tun i & 1. 1261 01:04:29,770 --> 01:04:33,302 Nun, was sollen wir wollen und durch die für das zweite Bit? 1262 01:04:33,302 --> 01:04:34,294 SPEAKER 47: 2. 1263 01:04:34,294 --> 01:04:36,110 ROB: Yeah, das zweite, dass wir auf 2 sind. 1264 01:04:36,110 --> 01:04:39,100 ALI: Sie werden feststellen, dass die 1 hat auf der linken Seite ein bewegt. 1265 01:04:39,100 --> 01:04:44,320 So haben wir gelernt, keine bitweise Operatoren, um diese Funktion zu tun? 1266 01:04:44,320 --> 01:04:45,160 ROB: Der nächste - 1267 01:04:45,160 --> 01:04:46,280 ALI: Ja, richtig, genau. 1268 01:04:46,280 --> 01:04:48,670 Also ist es eine Verschiebung nach links. 1269 01:04:48,670 --> 01:04:51,120 Anstatt immer Rücksprache mit 1, werden wir es verschieben. 1270 01:04:51,120 --> 01:04:53,470 Und wie oft sind wir es verschieben? 1271 01:04:53,470 --> 01:04:59,340 Wenn wir die Überprüfung des 0. ein sind, dann werden wir es über Null bewegen. 1272 01:04:59,340 --> 01:04:59,975 Ja, genau. 1273 01:04:59,975 --> 01:05:02,090 Also links verschieben es von j. 1274 01:05:02,090 --> 01:05:02,550 Perfect. 1275 01:05:02,550 --> 01:05:03,550 Jetzt wissen wir also - 1276 01:05:03,550 --> 01:05:06,450 haben wir diese int davon, ob es ein, und dann - 1277 01:05:10,690 --> 01:05:14,670 so Rob Art von Betrug hier - 1278 01:05:14,670 --> 01:05:18,090 und so jetzt war er voran, und er hat nur gesagt, dass, wenn es tatsächlich ist 1, 1279 01:05:18,090 --> 01:05:23,540 weil 1 als wahr ausgewertet, so dass wir nicht zu sagen isf Isone gleich 1 - 1280 01:05:23,540 --> 01:05:29,210 also wenn Isone, dann drucken wir 1, und ansonsten wir drucken 0. 1281 01:05:29,210 --> 01:05:33,350 >> ROB: So hat unser Programm insgesamt einen Bug. 1282 01:05:33,350 --> 01:05:35,845 Nun, Fragen zu diesem ersten. 1283 01:05:35,845 --> 01:05:41,692 SPEAKER 48: Kannst du jemals von Isone im vier-Betrieb teil und 1284 01:05:41,692 --> 01:05:47,804 dann haben sie verlagern sich als der letzte Teil? 1285 01:05:47,804 --> 01:05:50,050 So Isone gleich 1 und dann - 1286 01:05:50,050 --> 01:05:53,140 ROB: Ja, können Sie. 1287 01:05:53,140 --> 01:05:57,200 Wir können tatsächlich zeigen, dass, wenn wir den Fehler, dass ich jetzt bin fix 1288 01:05:57,200 --> 01:06:00,050 besprechen mit Ihnen allen. 1289 01:06:00,050 --> 01:06:03,470 Beachten Sie die Ordnung, die wir über die Dinge gehst. 1290 01:06:03,470 --> 01:06:10,570 Angesichts dieser Binärdarstellung, sind wir mit der nullten Bit ab. 1291 01:06:10,570 --> 01:06:13,010 Wenn es eine 0 ist, dann drucken wir - 1292 01:06:13,010 --> 01:06:15,620 gut, es ist eine 0, so drucken wir 0. 1293 01:06:15,620 --> 01:06:16,860 Dann gehen wir zum zweiten Bit gehen. 1294 01:06:16,860 --> 01:06:19,100 Es ist eine 0, so drucken wir 0. 1295 01:06:19,100 --> 01:06:20,290 Dann gehen wir zu dem dritten Bit gehen. 1296 01:06:20,290 --> 01:06:22,950 Es ist eine 1, so drucken wir ein. 1297 01:06:22,950 --> 01:06:24,580 ALI: Es ist also rückwärts gehen. 1298 01:06:24,580 --> 01:06:27,906 So wie Sie Leute vorschlagen, dass wir das zu beheben und den anderen Weg gehen? 1299 01:06:27,906 --> 01:06:28,900 SPEAKER 49: [unverständlich] 1300 01:06:28,900 --> 01:06:29,490 ROB: Yeah. 1301 01:06:29,490 --> 01:06:34,500 Anstatt also von 0 bis numBits, werden wir von numBits Bits auf 0 gehen. 1302 01:06:34,500 --> 01:06:35,600 ALI: So [unverständlich] 1303 01:06:35,600 --> 01:06:36,940 immer den anderen Weg gehen. 1304 01:06:36,940 --> 01:06:38,970 ROB: NumBits minus 1, denn das ist die letzte nubmer - 1305 01:06:38,970 --> 01:06:41,160 ALI: Weil es 0 bis 31 geht. 1306 01:06:41,160 --> 01:06:44,420 Und dann werden wir immer darauf achten, dass sie größer als 0 ist, so dass Sie nicht gehen 1307 01:06:44,420 --> 01:06:46,100 zu weit nach rechts. 1308 01:06:46,100 --> 01:06:48,800 Und dann wirst du immer um 1 abziehen, um auf der rechten Seite gehen. 1309 01:06:48,800 --> 01:06:52,240 >> ROB: So, jetzt haben wir eine Kehrschleife, und die Zahl ist wieder in Druck 1310 01:06:52,240 --> 01:06:53,586 in der richtigen Art und Weise. 1311 01:06:53,586 --> 01:06:57,560 SPEAKER 50: Haben Sie nicht die Verschiebung Sache zu ändern? 1312 01:06:57,560 --> 01:06:58,810 ALI: Also nein. 1313 01:07:03,810 --> 01:07:06,470 ROB: Wir tun exakt das gleiche Operationen, außer jetzt 1314 01:07:06,470 --> 01:07:07,470 in der umgekehrten Reihenfolge. 1315 01:07:07,470 --> 01:07:14,170 So anstatt die Verschiebung um numBits minus 1 zu bekommen, was diese 1316 01:07:14,170 --> 01:07:17,430 Bit ist, anstatt das zu tun, dass die letzten, wir tun es einfach zuerst. 1317 01:07:19,970 --> 01:07:22,970 Durch die Umkehrung dieses hier, kehren wir die Reihenfolge der alles 1318 01:07:22,970 --> 01:07:24,190 dies geschieht im Inneren. 1319 01:07:24,190 --> 01:07:28,610 Aber wir wollen nicht zu ändern, was passiert im Inneren überhaupt. 1320 01:07:28,610 --> 01:07:29,860 ALI: Macht das Sinn? 1321 01:07:32,240 --> 01:07:33,660 Verarbeitung? 1322 01:07:33,660 --> 01:07:41,200 Okay, nicht so jemand noch andere konzeptionelle Fragen? 1323 01:07:41,200 --> 01:07:45,030 ALI: Bevor wir in seinem Punkt gehen die - 1324 01:07:45,030 --> 01:07:46,280 ALI: All right, gut gehen. 1325 01:07:48,350 --> 01:07:53,160 Rob: Anstelle der Verwendung von j unseren sein - 1326 01:07:55,780 --> 01:08:00,550 anstelle von j immer verschieben, wie eine Verschiebung nach links j, denke ich, was 1327 01:08:00,550 --> 01:08:04,120 Sie sagen, ist wie zu j nutzen sich. 1328 01:08:04,120 --> 01:08:09,560 Also für j - 1329 01:08:09,560 --> 01:08:14,656 Ich denke, das ist die harte - j = 1 << 31. 1330 01:08:14,656 --> 01:08:16,200 Ist das, was ich will? 1331 01:08:16,200 --> 01:08:18,470 Ich denke, es ist << 31. 1332 01:08:18,470 --> 01:08:22,840 j> = 1 ist. 1333 01:08:22,840 --> 01:08:32,319 j >>, >> Isone, i & j - 1334 01:08:32,319 --> 01:08:35,620 so jetzt anstelle von - 1335 01:08:35,620 --> 01:08:38,370 ALI: Du bist ständig in Bewegung j anstatt ein 1336 01:08:38,370 --> 01:08:40,520 index um es zu überprüfen. 1337 01:08:40,520 --> 01:08:42,130 Es ist nicht so schlimm. 1338 01:08:42,130 --> 01:08:43,960 Wir verwenden eine ähnliche Art von Logik. 1339 01:08:43,960 --> 01:08:46,202 Also, wenn Sie gehen zurück - 1340 01:08:46,202 --> 01:08:50,020 oh, aber es geht, es zu verlieren. 1341 01:08:50,020 --> 01:08:51,380 Okay, du bist gerade dabei, es wieder zu geben. 1342 01:08:51,380 --> 01:08:56,880 Wenn Sie bemerken, dass wir 1 << j Höhe der Zeit sind, und wir waren 1343 01:08:56,880 --> 01:09:02,279 Inkrementieren j jedes Mal um ein Inkrement, aber diesmal anstelle 1344 01:09:02,279 --> 01:09:06,010 sie tun das Inkrement j an der Spitze innerhalb der for-Schleife. 1345 01:09:06,010 --> 01:09:10,890 Anstatt also immer in Bewegung it down - 1346 01:09:10,890 --> 01:09:15,220 ROB: Die erste Iteration der for-Schleife, haben wir j ist 10000. 1347 01:09:15,220 --> 01:09:20,000 Die nächste Iteration der for-Schleife ist 01000. 1348 01:09:20,000 --> 01:09:22,380 Die nächste Iteration ist, dass. 1349 01:09:22,380 --> 01:09:26,800 Und die 1 wird einfach weiter ausbreiten, bis wir das sehr getroffen 1350 01:09:26,800 --> 01:09:29,729 Ende, wo es jetzt ist das. 1351 01:09:29,729 --> 01:09:33,990 Der nächste wird der 1 würde abgestoßen werden, und j nicht mehr größer 1352 01:09:33,990 --> 01:09:35,090 als oder gleich 1 ist. 1353 01:09:35,090 --> 01:09:38,380 Ich könnte auch genommen größer als 0, gleiche Unterschied. 1354 01:09:38,380 --> 01:09:41,580 Und dann das ist es. 1355 01:09:41,580 --> 01:09:43,720 Haben Sie Fragen? 1356 01:09:43,720 --> 01:09:44,760 Yeah. 1357 01:09:44,760 --> 01:09:49,740 >> SPEAKER 51: [unverständlich] 1358 01:09:49,740 --> 01:09:51,729 ROB: Also das ist das gleiche wie - 1359 01:09:51,729 --> 01:09:57,270 Sie haben j + = 3 gesehen? 1360 01:09:57,270 --> 01:10:00,960 Das ist also das gleiche wie j = j + 3? 1361 01:10:00,960 --> 01:10:05,560 Sie können, dass für nahezu jeden Betreiber auch in C schreiben So j >> = 3 1362 01:10:05,560 --> 01:10:10,490 gleich j = j >> 3. 1363 01:10:13,980 --> 01:10:16,760 Also das funktioniert auch mit bitweisen Operatoren. 1364 01:10:16,760 --> 01:10:19,630 Und ich sollte nicht 31 hierher gebracht haben. 1365 01:10:19,630 --> 01:10:23,790 1 - Ich sollte numBits gesetzt haben. 1366 01:10:23,790 --> 01:10:25,380 ALI: Yay, keine magischen Zahlen. 1367 01:10:25,380 --> 01:10:29,070 Okay, es ist 04.00 aber so, wenn euch zu gehen - aber ist das sinnvoll? 1368 01:10:29,070 --> 01:10:30,320 Habt ihr noch Fragen? 1369 01:10:33,920 --> 01:10:38,470 ROB: Ich war auch werde, dass zu werfen, wenn wir wollten - 1370 01:10:38,470 --> 01:10:41,326 hat er ternäre Operator diskutiert überhaupt? 1371 01:10:41,326 --> 01:10:42,730 ALI: Nein 1372 01:10:42,730 --> 01:10:45,090 Es ist okay. 1373 01:10:45,090 --> 01:10:46,970 ROB: So könnte man in sie für die nächste Zeit aussehen. 1374 01:10:51,030 --> 01:10:52,080 ALI: Okay, wirklich? 1375 01:10:52,080 --> 01:10:53,150 Jetzt bist du nur Angeberei. 1376 01:10:53,150 --> 01:10:54,210 ROB: Nein, jetzt es ist - 1377 01:10:54,210 --> 01:11:00,490 das ist, was bringt die Menschen interessiert, und jetzt werden sie Blick hinein zu gehen. 1378 01:11:00,490 --> 01:11:02,640 So, jetzt nicht, dass die gleiche Sache, in einem Schritt. 1379 01:11:05,150 --> 01:11:10,950 So überprüfen Sie zunächst, i & j 1? 1380 01:11:10,950 --> 01:11:12,530 Ist es wahr? 1381 01:11:12,530 --> 01:11:17,000 Wenn dem so ist, drucken Sie eine 1, sonst, drucken Sie eine 0. 1382 01:11:17,000 --> 01:11:19,190 ALI: Aber tut es der andere Weg ist völlig in Ordnung, als gut. 1383 01:11:19,190 --> 01:11:20,920 Es hat die gleiche Logik. 1384 01:11:20,920 --> 01:11:22,730 So ist es nicht wie man ist - 1385 01:11:22,730 --> 01:11:24,620 ROB: An dieser Stelle können wir diejenigen loswerden geschweiften Klammern, weil es nur 1386 01:11:24,620 --> 01:11:27,190 eine einzeilige for-Schleife. 1387 01:11:27,190 --> 01:11:29,370 ALI: Okay, so macht das Sinn? 1388 01:11:29,370 --> 01:11:30,370 Das war eine Art Sprung. 1389 01:11:30,370 --> 01:11:34,870 Aber es war nur eine Art von Syntax, um so mehr. 1390 01:11:34,870 --> 01:11:36,250 >> Cool? 1391 01:11:36,250 --> 01:11:37,500 Noch Fragen? 1392 01:11:40,880 --> 01:11:41,570 ROB: All right. 1393 01:11:41,570 --> 01:11:42,310 ALI: All right, cool. 1394 01:11:42,310 --> 01:11:43,560 Danke fürs Kommen Abschnitt.