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: Oké, szóval amit most hozott, hogy a CS50 Spaces. 3 00:00:11,320 --> 00:00:12,325 ALI: Várj, várj vissza. 4 00:00:12,325 --> 00:00:13,175 Üdvözöljük a részt! 5 00:00:13,175 --> 00:00:13,860 ROB: Üdvözöljük a részt! 6 00:00:13,860 --> 00:00:14,742 ALI: Yay! 7 00:00:14,742 --> 00:00:16,840 ROB: szuperszakasz! 8 00:00:16,840 --> 00:00:18,610 ALI: Én vagyok, Ali és ez Rob. 9 00:00:18,610 --> 00:00:20,680 Oké, most fogunk magyarázni Spaces. 10 00:00:20,680 --> 00:00:23,650 ROB: Szóval, amit most hozott, hogy a CS50 Spaces. 11 00:00:23,650 --> 00:00:29,260 Nem lesz ezzel a sok a szakaszok ebben a félévben. 12 00:00:29,260 --> 00:00:32,110 Alapvetően, mi már volt akkor le a készüléket. 13 00:00:32,110 --> 00:00:38,630 És azt lehet gondolni CS50 terek, mint egy webes felület beszél egy készülék 14 00:00:38,630 --> 00:00:40,670 hogy van néhány szerver valahol. 15 00:00:40,670 --> 00:00:42,990 Szóval lehet futtatni a kódot ezen a felületen, és mi 16 00:00:42,990 --> 00:00:44,180 hogyan kell csinálni a dolgokat. 17 00:00:44,180 --> 00:00:48,200 Azt is nézd meg a kódot más emberek abban a részében, valamint - 18 00:00:48,200 --> 00:00:51,920 ALI: És néhány ember rájött, cseveghet az embereket az oldalon. 19 00:00:51,920 --> 00:00:54,230 És mi mind látni is, annak érdekében, hogy ez izgalmas. 20 00:00:54,230 --> 00:00:55,655 Gyere be, gyere és ülj le. 21 00:00:55,655 --> 00:00:57,060 Vegyünk egy helyet. 22 00:00:57,060 --> 00:00:57,840 >> ROB: Szóval, szakaszok - 23 00:00:57,840 --> 00:00:59,380 ALI: Nem, nem, srácok tud jönni. 24 00:00:59,380 --> 00:01:03,356 ROB: szakaszok lesznek sokkal több interaktív ebben a félévben. 25 00:01:03,356 --> 00:01:04,180 ALI: Ó, ő olyan, mint - 26 00:01:04,180 --> 00:01:05,840 Oh. 27 00:01:05,840 --> 00:01:07,530 Oké, király. 28 00:01:07,530 --> 00:01:15,630 Tehát, ha ti csak most jön, akkor menjen meg ezt a linket, ha tudok 29 00:01:15,630 --> 00:01:20,190 ott, ott. 30 00:01:20,190 --> 00:01:22,780 Nem tudjuk igazán írni, mert nincs tábla helyet, de ezt a linket 31 00:01:22,780 --> 00:01:27,160 itt, menj, hogy a számítógépek, és akkor írja CS50 32 00:01:27,160 --> 00:01:29,810 Spaces, ami elég jó dolog. 33 00:01:32,460 --> 00:01:33,830 Oké. 34 00:01:33,830 --> 00:01:35,370 Van valami probléma? 35 00:01:35,370 --> 00:01:39,930 ROB: Szóval megtalálja a problémákat - 36 00:01:39,930 --> 00:01:42,720 van szükségünk ahhoz, hogy írni ezt valahol. 37 00:01:42,720 --> 00:01:50,040 Tehát, ha megy cs50.net/psets, és ez a hacker szuperszakasz - 38 00:01:50,040 --> 00:01:55,870 és te menj be a Hacker Edition Pset egy, nézd meg a specifikáció 39 00:01:55,870 --> 00:01:57,620 valahol oldalon - 40 00:02:01,940 --> 00:02:04,280 >> ALI: Tehát alapvetően, míg Rob látszó, mit fogunk csinálni 41 00:02:04,280 --> 00:02:06,650 pont ma van egy szakasza a problémák - 42 00:02:06,650 --> 00:02:07,600 ROB: - oldalon nyolc. 43 00:02:07,600 --> 00:02:09,300 ALI - úgynevezett szakasz problémák - 44 00:02:09,300 --> 00:02:10,280 ROB: Section kérdésekre. 45 00:02:10,280 --> 00:02:11,630 ALI: Sajnálom, egy részét kérdésekre. 46 00:02:11,630 --> 00:02:14,450 És azok mit fogunk menni át - 47 00:02:14,450 --> 00:02:16,370 ezek mit fogunk menni át ma részben. 48 00:02:16,370 --> 00:02:20,010 És fogunk kódolni azt CS50 Spaces, és remélhetőleg, hogy működni fog. 49 00:02:20,010 --> 00:02:22,210 És mi lehet csak beszélni rajtuk keresztül. 50 00:02:22,210 --> 00:02:24,510 És ti srácok lehet kérdéseket feltenni, ha úgy érzi, - 51 00:02:24,510 --> 00:02:27,890 >> ROB: Tehát ez kezd, hogy egy közös dolog, a legtöbb psets. 52 00:02:27,890 --> 00:02:31,000 Azt hiszem, ezt, azt mondja, nem kell átadni ezeket a kérdéseket be 53 00:02:31,000 --> 00:02:36,780 De az elképzelés az, hogy ezek a kérdések kerülnek a Pset, és akkor jön 54 00:02:36,780 --> 00:02:39,790 szakasz, hogy ezekre a kérdésekre válaszol. 55 00:02:39,790 --> 00:02:42,730 Vagy ha nem jön szakasz, akkor válaszolni őket a saját, vagy kap 56 00:02:42,730 --> 00:02:44,250 Segítse a munkaidőben, vagy ilyesmi. 57 00:02:44,250 --> 00:02:47,540 De ezek azok a kérdések, amelyek állítólag prep Önnek a probléma halmaz. 58 00:02:47,540 --> 00:02:50,910 És a hacker kiadás, sok a kérdés, hogy csak körülbelül 59 00:02:50,910 --> 00:02:54,170 bővül a jelenlegi CS tudás. 60 00:02:54,170 --> 00:02:55,370 ALI: Igen, elég sok. 61 00:02:55,370 --> 00:02:57,950 >> Oké, mindenki a CS50 Spaces? 62 00:02:57,950 --> 00:02:59,457 Szia, gyere be 63 00:02:59,457 --> 00:03:00,828 SPEAKER 1: Láthatjuk az URL-címet még egyszer? 64 00:03:04,030 --> 00:03:07,000 Rob: Igen, ez könnyebb lesz, ha már ténylegesen a szakaszok, és 65 00:03:07,000 --> 00:03:10,760 A TF is csak e-mailben az URL előre. 66 00:03:10,760 --> 00:03:11,870 ALI: Yay, foglaljon helyet. 67 00:03:11,870 --> 00:03:13,170 Vannak helyek itt. 68 00:03:13,170 --> 00:03:14,420 Az első nem is olyan rossz. 69 00:03:17,112 --> 00:03:18,362 Mi az? 70 00:03:20,650 --> 00:03:23,590 Szóval, CS50 Spaces, mi egyre ott. 71 00:03:23,590 --> 00:03:26,760 Van valakinek bármilyen kérdése, mielőtt bejutni - mit? 72 00:03:26,760 --> 00:03:28,060 ROB: Nincs még semmilyen kréta. 73 00:03:28,060 --> 00:03:29,270 [Hallhatatlan] 74 00:03:29,270 --> 00:03:31,540 ALI: Elnézést. 75 00:03:31,540 --> 00:03:32,950 Lehet használni a körmök? 76 00:03:32,950 --> 00:03:38,210 Vagyunk egy nagyon low-tech szoba egy nagyon high-tech osztály. 77 00:03:38,210 --> 00:03:40,795 Oké, mindenkinek ilyen jó? 78 00:03:40,795 --> 00:03:44,310 Van valakinek még kérdése van ez? 79 00:03:44,310 --> 00:03:48,540 Ahogy már mondtam, megyünk végig a részében kérdések 80 00:03:48,540 --> 00:03:51,340 A Pset előírásoknak. 81 00:03:51,340 --> 00:03:53,490 Tehát ez csak egy pár a problémákat, hogy fogunk 82 00:03:53,490 --> 00:03:57,490 kódolásához fel CS50 Spaces. 83 00:03:57,490 --> 00:03:58,740 Mindenki jó? 84 00:04:01,010 --> 00:04:01,360 Oké. 85 00:04:01,360 --> 00:04:02,312 Jó? 86 00:04:02,312 --> 00:04:04,260 ROB: Van egy laptop? 87 00:04:04,260 --> 00:04:05,150 ALI: Akkor lógni Lucas. 88 00:04:05,150 --> 00:04:06,960 Ő ül melletted. 89 00:04:06,960 --> 00:04:10,030 Kötési idő. 90 00:04:10,030 --> 00:04:10,990 >> ROB: Szóval, kezdődik az első probléma? 91 00:04:10,990 --> 00:04:11,260 ALI: Igen. 92 00:04:11,260 --> 00:04:11,820 Mi lehet kezdeni. 93 00:04:11,820 --> 00:04:12,390 Akarod, - 94 00:04:12,390 --> 00:04:13,700 Tudok menni. 95 00:04:13,700 --> 00:04:16,666 Szóval, megyünk a Pset szemüveg. 96 00:04:16,666 --> 00:04:17,640 Oh, miért - 97 00:04:17,640 --> 00:04:18,890 ROB: Control. 98 00:04:21,769 --> 00:04:25,770 ALI: Oké, akkor megyünk bele answer ezeket a dolgokat is? 99 00:04:25,770 --> 00:04:26,190 ROB: Ó, igen. 100 00:04:26,190 --> 00:04:27,280 So - 101 00:04:27,280 --> 00:04:29,675 ALI: Oh, ugye mindenki karóra Rob főszereplésével nadrág? 102 00:04:32,430 --> 00:04:33,360 Oké, király. 103 00:04:33,360 --> 00:04:36,870 ROB: Igen, nem hiszem, hogy feltétlenül elvárható, hogy van 104 00:04:36,870 --> 00:04:40,650 nézte, mielőtt e szakasz, de mi lehet vitatni azokat 105 00:04:40,650 --> 00:04:43,870 problémák előzetesen, mivel ezek alatt a szakasz a kérdések dolgok. 106 00:04:43,870 --> 00:04:46,480 Tehát ha még nem nézte meg, ne aggódj. 107 00:04:46,480 --> 00:04:48,630 Azok, akik kipróbálhatják és válaszolni. 108 00:04:48,630 --> 00:04:53,875 >> Szóval, az első kérdés, hogy mi van egy pre-processzor, hogyan # include 109 00:04:53,875 --> 00:04:56,080 vonatkoznak? 110 00:04:56,080 --> 00:04:58,440 Tehát csinál akárki volna választ, hogy a? 111 00:04:58,440 --> 00:04:59,320 ALI: Srácok tud beszélni azt. 112 00:04:59,320 --> 00:05:00,308 Persze, menj csak. 113 00:05:00,308 --> 00:05:03,766 SPEAKER 2: # include van néhány előre megírt kódot, és ahelyett, 114 00:05:03,766 --> 00:05:08,706 másolás és beillesztés, hogy a programban, az csak azt mondom közé azt, 115 00:05:08,706 --> 00:05:14,140 a pre-processzor tudja, hogy ott van, és hogy meg kell adnia azt a 116 00:05:14,140 --> 00:05:17,520 később, vagy mielőtt bármi más történik. 117 00:05:17,520 --> 00:05:18,466 ALI: Igen, félelmetes. 118 00:05:18,466 --> 00:05:19,440 Cool. 119 00:05:19,440 --> 00:05:23,820 ROB: Tehát, amikor tényleg összeállítása a program, a pre-processzor ez 120 00:05:23,820 --> 00:05:25,230 az első lépést. 121 00:05:25,230 --> 00:05:27,620 Összeállítás történik négy nagy lépést. 122 00:05:27,620 --> 00:05:31,120 Tehát a pre-processzor az első nagyot, és ez a fickó, hogy megy 123 00:05:31,120 --> 00:05:33,510 keresztül, és úgy néz ki az összes ilyen hash szimbólumokat. 124 00:05:33,510 --> 00:05:36,610 És minden sor, hogy kezdődik a hash, a pre-processzor ránéz, és látja, 125 00:05:36,610 --> 00:05:37,880 ha ez feldolgozni. 126 00:05:37,880 --> 00:05:43,800 Szóval # include utasítja a pre-processzor keresni néhány cs50.h 127 00:05:43,800 --> 00:05:47,830 Fájl és csak másolja a tartalmát ezt a fájlt. 128 00:05:47,830 --> 00:05:50,970 Szóval, akkor tényleg # include amit akarsz, de ez leginkább lesz 129 00:05:50,970 --> 00:05:53,700 . H fájlokat. 130 00:05:53,700 --> 00:05:55,820 Még nem ütött a # define mégis úgy, hogy nem számít. 131 00:05:55,820 --> 00:05:57,620 ALI: Igen, jók vagyunk, hogy az egyik. 132 00:05:57,620 --> 00:05:59,450 Van valakinek bármilyen kérdése erről? 133 00:05:59,450 --> 00:06:01,090 Vagyunk jó? 134 00:06:01,090 --> 00:06:02,430 Következő kérdés. 135 00:06:02,430 --> 00:06:07,096 >> SPEAKER 3: Rövid, volt valami. C is? 136 00:06:07,096 --> 00:06:09,110 Van, hogy a vonatkozó, vagy ez lényegtelen? 137 00:06:09,110 --> 00:06:11,210 ROB: Rólunk. C, a pre-processzor? 138 00:06:11,210 --> 00:06:13,990 SPEAKER 3: Igen, vagy nem teszek valamit? 139 00:06:13,990 --> 00:06:18,290 ROB: Tehát a rövid lehetett volna mutató pre-feldolgozás ezt a fájlt, és 140 00:06:18,290 --> 00:06:24,240 kimenetre egy másik. c file, így előre feldolgozni ezt a fájlt - 141 00:06:24,240 --> 00:06:30,000 ha éppen fut, mint, hogy helló vagy csenget hello.c, akkor mindent megtesz 142 00:06:30,000 --> 00:06:31,730 összeállításához egy nagy lépés. 143 00:06:31,730 --> 00:06:34,780 De akkor kifejezetten csinálni bele önálló lépéseket. 144 00:06:34,780 --> 00:06:36,950 Tehát először is előre feldolgozni. 145 00:06:36,950 --> 00:06:42,260 Akkor fordul le, akkor össze, és akkor lehet kapcsolni. 146 00:06:42,260 --> 00:06:43,620 Majd kap a többi is. 147 00:06:43,620 --> 00:06:47,410 De előkezelést, akkor milyen megelőző folyamat, és akkor megy 148 00:06:47,410 --> 00:06:49,270 egymással. c fájlt. 149 00:06:49,270 --> 00:06:51,430 Mivel a pre-feldolgozás nem igazán változtat semmin. 150 00:06:51,430 --> 00:06:52,800 Ez csak egy rakás másolás és beillesztés. 151 00:06:52,800 --> 00:06:56,760 Lehet kézzel másolja és illessze be magad. 152 00:06:56,760 --> 00:06:59,630 ALI: És hogy tisztázzuk, a. C fájl egy C fájl, így 153 00:06:59,630 --> 00:07:00,930 C-ben írt kódot. 154 00:07:00,930 --> 00:07:03,300 Szóval megy a C kódot C kód. 155 00:07:03,300 --> 00:07:05,210 Te csak hozzá több kódot a font. 156 00:07:05,210 --> 00:07:08,575 ROB: Ha előre feldolgozott, ez még mindig egy érvényes C fájl. 157 00:07:08,575 --> 00:07:09,940 SPEAKER 3: Rendben. 158 00:07:09,940 --> 00:07:10,540 ALI: Jó kérdés. 159 00:07:10,540 --> 00:07:11,370 Ez tetszik. 160 00:07:11,370 --> 00:07:12,755 Oké, a következő kérdés. 161 00:07:17,870 --> 00:07:19,660 >> Mi a fordító? 162 00:07:19,660 --> 00:07:20,824 Valaki? 163 00:07:20,824 --> 00:07:21,286 Igen. 164 00:07:21,286 --> 00:07:24,650 SPEAKER 4: megváltoztatja a előkezelt kódot szerelvény. 165 00:07:24,650 --> 00:07:25,110 ALI: Perfect. 166 00:07:25,110 --> 00:07:25,390 ROB: Igen. 167 00:07:25,390 --> 00:07:25,720 ALI: Cool. 168 00:07:25,720 --> 00:07:28,270 ROB: Tehát ez az, amit a fordító csinál kifejezetten 169 00:07:28,270 --> 00:07:30,740 amikor mi használ csenget. 170 00:07:30,740 --> 00:07:35,100 Egy nagyon általános értelemben, a fordító, mint vesz-kód egy nyelven 171 00:07:35,100 --> 00:07:37,070 és fordult be egy másik nyelvre. 172 00:07:37,070 --> 00:07:38,370 Tehát C - 173 00:07:38,370 --> 00:07:43,750 vagy, nos, csenget vesz kódot, ami a C és átalakítja azt a szerelvény. 174 00:07:43,750 --> 00:07:46,560 És nem kell, hogy képes legyen megérteni a gyülekezési egyáltalán. 175 00:07:46,560 --> 00:07:49,830 De ez a nyelv, hogy ez alakítását. 176 00:07:49,830 --> 00:07:50,230 >> ALI: Oké. 177 00:07:50,230 --> 00:07:52,920 És akkor, mi összeszerelő? 178 00:07:52,920 --> 00:07:54,270 Valaki? 179 00:07:54,270 --> 00:07:56,810 SPEAKER 5: [hangtalan] bináris? 180 00:07:56,810 --> 00:07:57,260 ALI: Bocs, mi van? 181 00:07:57,260 --> 00:07:58,760 SPEAKER 5: [hangtalan] bináris? 182 00:07:58,760 --> 00:07:59,260 ROB: Aha. 183 00:07:59,260 --> 00:07:59,880 ALI: Igen. 184 00:07:59,880 --> 00:08:01,960 ROB: Tehát az assembler - 185 00:08:01,960 --> 00:08:05,830 assembly kódot nagyon, nagyon közel ahhoz, amit a számítógép képes megérteni, 186 00:08:05,830 --> 00:08:09,390 de ne feledjük, hogy nem egészen értem a szöveget 187 00:08:09,390 --> 00:08:10,630 ez assembly kóddal. 188 00:08:10,630 --> 00:08:14,570 Be kell alakítani egyenesen 1 és 0. 189 00:08:14,570 --> 00:08:17,000 Ez olyan, mint a közvetlen fordítási folyamat. 190 00:08:17,000 --> 00:08:19,450 Mi is csak ad egy táblázatot, amely a térképen, amit az egyes 191 00:08:19,450 --> 00:08:21,880 szerelési utasítást jelent. 192 00:08:21,880 --> 00:08:24,340 De az assembler éppen ezt fordítást az Ön számára. 193 00:08:24,340 --> 00:08:28,790 Ez átalakítja a gyülekezési kódot 1 és 0. 194 00:08:28,790 --> 00:08:30,870 >> ALI: És akkor, az utolsó, mi az a kapcsoló? 195 00:08:30,870 --> 00:08:35,070 És hogyan-lcs50 vonatkozik? 196 00:08:35,070 --> 00:08:37,010 Valaki? 197 00:08:37,010 --> 00:08:41,440 ROB: Ez a legnehezebb és a legkevésbé magyarázni egy a fordító videó. 198 00:08:41,440 --> 00:08:48,980 ALI: valaki emlékeznek-lcs50 a parancs? 199 00:08:48,980 --> 00:08:50,690 SPEAKER 6: Amikor elment a tenni. 200 00:08:50,690 --> 00:08:51,980 ALI: Ez a tenni. 201 00:08:51,980 --> 00:08:55,780 Ja, jó, oké. 202 00:08:55,780 --> 00:09:02,024 Van-e olyan találgatások vagy bizonytalan - igen, megy. 203 00:09:02,024 --> 00:09:06,370 SPEAKER 7: Nem vagyok benne biztos, mert a rövid távú volt igazán [hallható], de volt 204 00:09:06,370 --> 00:09:12,244 valamit csinál külön fájlban minden könyvtár, majd üzembe 205 00:09:12,244 --> 00:09:13,620 őket együtt, egy könyvtár? 206 00:09:13,620 --> 00:09:14,400 ROB: Igen. 207 00:09:14,400 --> 00:09:23,000 Tehát, ha van hello.c, ez egy nagyon egyszerű program. 208 00:09:23,000 --> 00:09:25,570 Te tényleg csak csinál egy dolog benne. 209 00:09:25,570 --> 00:09:27,400 De ha kap más programok - 210 00:09:27,400 --> 00:09:31,700 és azt hiszem, még akkor is, getString a programokat, meg kell kezdeni 211 00:09:31,700 --> 00:09:33,830 beleértve más fájlokat. 212 00:09:33,830 --> 00:09:38,000 Tehát a CS50 könyvtár is egy ilyen fájlt, amely már a megvalósítás 213 00:09:38,000 --> 00:09:40,750 A getString és getInt és az összes ezeket a dolgokat. 214 00:09:40,750 --> 00:09:45,540 Szóval, mi a linker nem ez megy körbe nézegette mindezen 215 00:09:45,540 --> 00:09:49,400 kép, hogy hol funkciók meghatározása, ügyelve arra, hogy amikor hívom 216 00:09:49,400 --> 00:09:52,440 GetString valahol, mert tudja, hogy getString azt jelenti, hogy ez a 217 00:09:52,440 --> 00:09:54,910 GetString át a CS50 könyvtárban. 218 00:09:54,910 --> 00:09:58,895 Tehát a linker csak úgy ezeket a fájlokat, összetöri őket, és most 219 00:09:58,895 --> 00:10:01,020 van egy végrehajtható. 220 00:10:01,020 --> 00:10:05,600 Tehát ne feledje, ha a CS50 könyvtár van szükség mind a 221 00:10:05,600 --> 00:10:10,370 # Include a tetején, és akkor is a make parancsot, mint te 222 00:10:10,370 --> 00:10:12,630 azt mondta, van, hogy a-lcs50. 223 00:10:12,630 --> 00:10:15,720 Így nem csak egy van. 224 00:10:15,720 --> 00:10:18,294 Szóval ez csak valami, hogy tartsa szem előtt a jövőben is. 225 00:10:18,294 --> 00:10:22,550 >> SPEAKER 8: Nos, mondjuk volt egy másik könyvtárba, mint cs51.h, tennénk 226 00:10:22,550 --> 00:10:26,780 is hozzá kell-lcs51? 227 00:10:26,780 --> 00:10:32,390 ROB: Az egyetlen ok, this-lcs50 tökéletesen működik, azért van, mert van, hogy meg 228 00:10:32,390 --> 00:10:35,800 fel egy adott helyen a készülékeket úgy, hogy tudja, mit 229 00:10:35,800 --> 00:10:38,550 -Lcs50 eszközökkel. 230 00:10:38,550 --> 00:10:43,240 Mi is csak kapsz egy cs50.c fájlt, akkor lehet fordítani, mondván: 231 00:10:43,240 --> 00:10:49,050 Zengés hello.c cs50.c, és akkor ez, hogy a futtatható azáltal 232 00:10:49,050 --> 00:10:50,350 e két fájl együtt. 233 00:10:50,350 --> 00:10:56,520 Tudja, hogy a-lcs50 jelenti cs50.c át néhány könyvtárban, hogy meghatározott 234 00:10:56,520 --> 00:10:58,350 A készülékek. 235 00:10:58,350 --> 00:11:04,290 Tehát, ha volna egy cs51.c legyen meghatározható az csak azt mondom, lcs51, 236 00:11:04,290 --> 00:11:06,760 akkor azt is meg kell tenni azt, hogy a könyvtárban, így tudja, hogy hova 237 00:11:06,760 --> 00:11:08,636 nézd azt. 238 00:11:08,636 --> 00:11:10,510 ALI: Mi volt a kérdés? 239 00:11:10,510 --> 00:11:13,975 >> SPEAKER 7: Miért kell csatolni a CS50 240 00:11:13,975 --> 00:11:18,940 ha - wasn't hogy bemásolod / illeszti az első lépés, ha előre feldolgozott ez? 241 00:11:18,940 --> 00:11:19,700 ALI: Szeretnéd, hogy vegye meg? 242 00:11:19,700 --> 00:11:20,880 ROB: Persze. 243 00:11:20,880 --> 00:11:28,028 Tehát a cs50.h fájl elkülönül a cs50.c C fájlt. 244 00:11:28,028 --> 00:11:33,652 Már ütött működni prototípusok osztályban? 245 00:11:33,652 --> 00:11:34,350 Oké. 246 00:11:34,350 --> 00:11:40,255 Tehát alapvetően a cs50.h fájl csak fog másolni és beilleszteni - 247 00:11:40,255 --> 00:11:44,040 ALI: Nem tudjátok, mit aláírás? 248 00:11:44,040 --> 00:11:46,580 Oké, szóval elég sok, ha megnézi - 249 00:11:46,580 --> 00:11:50,530 ROB: Tegyük cs50.h nincs ott. 250 00:11:50,530 --> 00:11:52,960 Most ezt a fájlt - 251 00:11:52,960 --> 00:11:56,090 csinálsz sztring s = getString. 252 00:11:56,090 --> 00:11:59,350 De amikor mi már ütött, hogy ezt a pontot a kódot, akkor fogalma sincs, mit 253 00:11:59,350 --> 00:12:00,230 GetString van. 254 00:12:00,230 --> 00:12:02,600 Tudja, hogy ez a funkció, mert te hív meg. 255 00:12:02,600 --> 00:12:06,500 De nem tudja, hogy ez valójában kellene, hogy visszatérjen egy string. 256 00:12:06,500 --> 00:12:14,530 Szóval, mint mondtam, string s = getInt, ez nem semmi értelme, mivel az 257 00:12:14,530 --> 00:12:17,530 Ön aláírása értéke egy string. 258 00:12:17,530 --> 00:12:22,270 De nem tudja, hogy getString nincs értelme, mert nem 259 00:12:22,270 --> 00:12:24,380 tudom, hogy getString vissza string. 260 00:12:24,380 --> 00:12:28,220 Tehát mi cs50.h mond valami ilyesmit. 261 00:12:33,070 --> 00:12:37,750 ALI: Tehát mi Rob gépel van, ez egy ígéret, olyan módon, hogy ez lesz a 262 00:12:37,750 --> 00:12:41,280 rendelkezik ezzel a funkcióval nevű getString. 263 00:12:41,280 --> 00:12:45,250 ROB: Ez minden, cs50.h a másolás és beillesztés itt, valamint 264 00:12:45,250 --> 00:12:47,620 A getInt és mindazoknak, akik a dolgokat. 265 00:12:47,620 --> 00:12:51,520 És ez csak azt mondja, hogy nem getString vissza string. 266 00:12:51,520 --> 00:12:54,830 Azt nem tudom, hogy ez végre még, de ha eljutunk ezen a vonalon, most 267 00:12:54,830 --> 00:12:57,760 tudja, hogy helyesen vissza string. 268 00:12:57,760 --> 00:13:03,022 >> SPEAKER 9: Szóval, ha nem zavarja a # include dolog, és helyette 269 00:13:03,022 --> 00:13:07,130 csak írtam a prototípus az is, hogy mi valójában fog használni? 270 00:13:07,130 --> 00:13:07,330 ROB: Igen. 271 00:13:07,330 --> 00:13:08,870 Szóval futtatásához. 272 00:13:08,870 --> 00:13:09,110 SPEAKER 9: Valóban? 273 00:13:09,110 --> 00:13:13,670 Szóval, alapértelmezés szerint, akkor tegye a-l, hogy csak azért, mert CS50 -. 274 00:13:13,670 --> 00:13:14,740 ROB: - kifejezést. 275 00:13:14,740 --> 00:13:19,370 ALI: Igen, mert ahogy ön is mondta, hogy ez a márka fájlban. 276 00:13:19,370 --> 00:13:24,040 ROB: cs50.h is előfordul, hogy a typedef char * string. 277 00:13:24,040 --> 00:13:26,950 Akkor teljesen figyelmen kívül hagyja, hogy ez mit jelent most. 278 00:13:26,950 --> 00:13:31,430 De ez is valami szerepel cs50.h. 279 00:13:31,430 --> 00:13:34,230 Tehát most a dolgok tökéletesen működött jól. 280 00:13:34,230 --> 00:13:40,770 Ez fut pontosan ugyanaz, mint akkor volt, amikor már csak volt 281 00:13:40,770 --> 00:13:45,120 Az # include. 282 00:13:45,120 --> 00:13:49,200 És így többek cs50.h történik over-include dolgot kell - 283 00:13:49,200 --> 00:13:53,080 hasonló, ha nem használja a getInt ebben a programban, de ez nem számít. 284 00:13:53,080 --> 00:13:55,010 Ez lesz csak figyelmen kívül hagyja azt. 285 00:13:55,010 --> 00:14:02,400 ALI: És akkor, ha nem a-lcs50 ide, és itt, mi folyik itt 286 00:14:02,400 --> 00:14:05,290 az az, hogy ez, amelynek a tényleges végrehajtható kódot. 287 00:14:05,290 --> 00:14:07,530 Szóval ez az, ahol valójában, ezzel a - 288 00:14:07,530 --> 00:14:09,090 írni a kódot getString. 289 00:14:09,090 --> 00:14:11,180 Tehát ez nem csak egy ígéret többé. 290 00:14:11,180 --> 00:14:16,520 Ez tulajdonképpen megy keresztül, és az a húr és minden ilyesmi. 291 00:14:16,520 --> 00:14:17,600 Értelme? 292 00:14:17,600 --> 00:14:22,640 Kérdései vannak? Rendben van. 293 00:14:22,640 --> 00:14:24,466 Cool babot. 294 00:14:24,466 --> 00:14:27,630 >> ROB: Most tudunk lépni a tényleges kódot. 295 00:14:27,630 --> 00:14:28,780 ALI: Oké. 296 00:14:28,780 --> 00:14:33,340 Tehát itt van az első probléma. 297 00:14:33,340 --> 00:14:36,910 Szóval azt mondja, levelet egy programot, amely figyelmezteti a felhasználót a kisbetűs 298 00:14:36,910 --> 00:14:40,540 levél, majd átalakítja a nagybetűs használata nélkül bitenkénti 299 00:14:40,540 --> 00:14:43,590 műveleteket, mint egy a minta kibocsátás alatt. 300 00:14:43,590 --> 00:14:48,780 Így láthatjuk, futtatja a programot a. / A.out, majd te 301 00:14:48,780 --> 00:14:53,320 megy, hogy kisbetűvel a,, majd a program adja ki a tőke 302 00:14:53,320 --> 00:15:00,590 A. Akkor miért nem vagytok mind, hogy ez egy lövés CS50 Spaces? 303 00:15:00,590 --> 00:15:03,360 Szóval ti mind ide. 304 00:15:03,360 --> 00:15:06,650 És akkor törli az összes kódot itt. 305 00:15:06,650 --> 00:15:12,140 És akkor megy előre, és elkezdeni kódolni a dolog. 306 00:15:12,140 --> 00:15:14,590 ROB: Akkor érdemes használni GetChar, ez 307 00:15:14,590 --> 00:15:16,190 tartalmazza a CS50 könyvtárban. 308 00:15:16,190 --> 00:15:18,770 ALI: Azt hiszem, hogy talán jobb lenne, ha menteni a felső rész. 309 00:15:21,452 --> 00:15:23,805 Szóval érdemes csak megváltoztatni a dolgokat a közepén. 310 00:15:28,710 --> 00:15:29,070 Menj előre, és működik. 311 00:15:29,070 --> 00:15:30,530 Nyugodtan dolgozni egymással. 312 00:15:30,530 --> 00:15:32,360 Rob: És akkor kérdéseket feltenni, ha - 313 00:15:32,360 --> 00:15:33,450 >> SPEAKER 10: Mi az a bitenkénti művelet? 314 00:15:33,450 --> 00:15:35,100 ROB: Nos, figyelmen kívül hagyja, hogy ezt a problémát. 315 00:15:35,100 --> 00:15:36,330 ALI: Ha nem tudod, hogy ez jó. 316 00:15:36,330 --> 00:15:38,300 ROB: fogjuk használni a következő probléma. 317 00:15:38,300 --> 00:15:40,750 De ha nem tudod, mi az a bitenkénti operátor, ez rendben van. 318 00:15:40,750 --> 00:15:43,575 SPEAKER 10: Olyan, mint forgatva ASCII kódot? 319 00:15:43,575 --> 00:15:44,050 ALI: Nem 320 00:15:44,050 --> 00:15:44,750 ROB: Nem 321 00:15:44,750 --> 00:15:46,220 Megteheti, hogy erre a problémára. 322 00:15:46,220 --> 00:15:48,280 SPEAKER 10: Hogy csinálod ezt? 323 00:15:48,280 --> 00:15:52,460 Tehát, ha csak kellett valahol írni - 324 00:15:52,460 --> 00:15:54,670 ALI: Vagy valamit az íráshoz. 325 00:15:54,670 --> 00:15:56,780 ROB: tudtam, csak egyfajta típusú ebbe. 326 00:15:56,780 --> 00:15:59,045 ALI: Írja be a tetején. 327 00:15:59,045 --> 00:16:01,390 ROB: Oh, ülök egy mikrofon. 328 00:16:01,390 --> 00:16:10,860 >> Tehát láttuk, hogy az előadás ASCII értéke tőke A jelentése 65. 329 00:16:10,860 --> 00:16:13,670 És tőke B lesz 66, és így tovább. 330 00:16:13,670 --> 00:16:20,860 Így szó használata az "A" jelenti a szám 65. 331 00:16:20,860 --> 00:16:24,600 Mint ez az érték 65. 332 00:16:24,600 --> 00:16:30,950 Meg tudom csinálni valami hasonlót int x = 100 - "A". És most x lesz az érték 333 00:16:30,950 --> 00:16:33,810 100-65. 334 00:16:33,810 --> 00:16:36,708 ALI: futtathatja ezt, és azt mutatják, hogy. 335 00:16:36,708 --> 00:16:38,420 Oh, talán nem. 336 00:16:38,420 --> 00:16:38,600 Semmi baj. 337 00:16:38,600 --> 00:16:40,970 ROB: kellett kinyomtatni. 338 00:16:40,970 --> 00:16:43,730 SPEAKER 10: Hogyan kapcsolja vissza a karaktert? 339 00:16:43,730 --> 00:16:46,800 ALI: Tehát, ha nem - 340 00:16:46,800 --> 00:16:51,450 csak kényszeríti, hogy legyen char A, egyenlő. 341 00:16:51,450 --> 00:16:53,630 ROB: Szóval van egy - 342 00:16:53,630 --> 00:16:58,440 a különbséget a char és az egész csak méret szempontjából. 343 00:16:58,440 --> 00:17:01,230 Így egy egész szám történetesen képviselni tudja a dolgokat 344 00:17:01,230 --> 00:17:02,600 a, mondjuk, négy milliárd euró. 345 00:17:02,600 --> 00:17:05,839 A karakter csak akkor tudja képviselni a dolgokat egészen 255-ig. 346 00:17:05,839 --> 00:17:08,390 De nincs köztük különbség más, mint ez. 347 00:17:08,390 --> 00:17:12,339 Szóval mondhatjuk char c = 65. 348 00:17:12,339 --> 00:17:24,204 Ez egyenértékű mondván: char c megegyezik az "A". 349 00:17:24,204 --> 00:17:25,210 ALI: Oh, nem. 350 00:17:25,210 --> 00:17:26,710 Ez valójában nem menteni a dolgokat. 351 00:17:26,710 --> 00:17:28,130 ROB: Nem, ezt nem teheted ezt. 352 00:17:28,130 --> 00:17:31,610 ALI: Ez csak - 353 00:17:31,610 --> 00:17:34,920 [GROANS] 354 00:17:34,920 --> 00:17:40,700 >> ROB: Oké, akkor mi Ali csak írt egy programot, amely kinyomtatja 1. 100 - 355 00:17:40,700 --> 00:17:46,290 "A", mint egy egész, ami 35, ahogy várjuk, mert 100 mínusz az ASCII 356 00:17:46,290 --> 00:17:48,580 értéke a 65. 357 00:17:48,580 --> 00:17:54,100 Aztán kinyomtatható a% c, ami azt jelenti, értelmezi, mint egy char. 358 00:17:54,100 --> 00:17:57,050 Tehát 100 - a 35. 359 00:17:57,050 --> 00:18:00,990 Értelmezése, hogy mivel egy karakter történik, hogy a hash szimbólum. 360 00:18:00,990 --> 00:18:06,160 Ha megnézed asciitable.com vagy bármi, akkor láthatjuk, hogy 35 a 361 00:18:06,160 --> 00:18:07,410 hash szimbólum. 362 00:18:09,940 --> 00:18:12,700 ALI: Oké, egyéb pontosításokat a probléma? 363 00:18:16,000 --> 00:18:18,180 Oké, srácok, lehet menni előre, és nem akkor. 364 00:18:18,180 --> 00:18:20,330 Nyugodtan kérdéseket feltenni vagy beszélgetni egymással. 365 00:18:20,330 --> 00:18:24,390 Vagy ha már megtette, akkor nyugi. 366 00:18:24,390 --> 00:18:29,640 >> LUCAS: Vajon azonos osztályba tartozó, a kisbetűk rendben vannak, és 367 00:18:29,640 --> 00:18:32,923 továbbá a nagybetűs is azért, mert ez valami hasznos 368 00:18:32,923 --> 00:18:33,990 a probléma. 369 00:18:33,990 --> 00:18:35,620 ALI: Jó pont, Lucas. 370 00:18:35,620 --> 00:18:37,430 Szóval, srácok, mind ezt? 371 00:18:37,430 --> 00:18:37,640 SPEAKER 11: Igen. 372 00:18:37,640 --> 00:18:39,535 Ez hogyan csinálod, ugye? 373 00:18:39,535 --> 00:18:39,960 ALI: Így van. 374 00:18:39,960 --> 00:18:40,415 ROB: Igen. 375 00:18:40,415 --> 00:18:47,270 SPEAKER 11: [hangtalan] 376 00:18:47,270 --> 00:18:48,330 ALI: Rendben. 377 00:18:48,330 --> 00:18:49,350 ROB: Mi a kérdés kérdezi? 378 00:18:49,350 --> 00:18:50,590 Csak átalakítani - 379 00:18:50,590 --> 00:18:52,560 ALI: Convert A kisbetű a nagybetűs. 380 00:18:52,560 --> 00:18:53,100 Ennyi. 381 00:18:53,100 --> 00:18:54,700 ROB: Oké. 382 00:18:54,700 --> 00:18:56,180 ALI: kéne írni? 383 00:18:56,180 --> 00:18:59,340 Azt hiszem, akkor csak nézd meg valaki másé. 384 00:18:59,340 --> 00:19:07,140 ROB: Tehát azok számára, akik esetleg beragadt, oly módon - 385 00:19:07,140 --> 00:19:15,160 ha van valami char c, és mondjuk, hogy előfordul, hogy a levél D. 386 00:19:15,160 --> 00:19:20,760 Tehát most hogyan tudok rájönni, mi betűvel C? 387 00:19:20,760 --> 00:19:25,620 Nem D, de én értem, D történik, hogy a negyedik betű az ábécé. 388 00:19:25,620 --> 00:19:28,910 És ha elkezdünk számolás 0-tól, akkor a harmadik betű az ábécé. 389 00:19:28,910 --> 00:19:36,240 Tehát, ha A 0, B 1, C 2, D 3, hogyan tudom kitalálni int álláspontja - 390 00:19:36,240 --> 00:19:40,780 milyen pozícióban az ábécé C van? 391 00:19:40,780 --> 00:19:42,333 Van valakinek valami ötlete? 392 00:19:42,333 --> 00:19:45,440 ALI: Azt hiszem, mindannyian kódolás. 393 00:19:45,440 --> 00:19:46,440 ROB: Mi az első? 394 00:19:46,440 --> 00:19:48,608 SPEAKER 12: Tehát bármi A, vonjuk ki az első? 395 00:19:48,608 --> 00:19:49,030 ROB: Igen. 396 00:19:49,030 --> 00:19:49,950 ALI: Igen, félelmetes. 397 00:19:49,950 --> 00:19:51,765 Szóval tehetne tőke D - 398 00:19:51,765 --> 00:19:52,840 Ó, sajnálom. 399 00:19:52,840 --> 00:19:55,620 Te meg a karaktert, és vonjuk ki az első, ahogy mondta. 400 00:19:55,620 --> 00:20:03,940 ROB: Tehát ha D valami ilyesmi 68, és mi vonjuk A, mely 65, akkor kap 401 00:20:03,940 --> 00:20:07,130 3, azt mondja, hogy a D a harmadik betű az ábécé 402 00:20:07,130 --> 00:20:09,290 Induló 0. 403 00:20:09,290 --> 00:20:11,310 Szóval lehet használni, hogy. 404 00:20:11,310 --> 00:20:13,830 Most már tudjuk, hogy mi betűvel, tekintve 405 00:20:13,830 --> 00:20:16,060 nyomtatott betűvel, vagy - 406 00:20:16,060 --> 00:20:18,330 tehetnénk ugyanezt a kisbetűs, hogy kitaláljuk, mit 407 00:20:18,330 --> 00:20:20,170 kisbetűs álláspont vagyunk hüvelyk 408 00:20:20,170 --> 00:20:25,690 És mi is használni, hogy majd átalakítani, hogy a nagybetűs használatával 409 00:20:25,690 --> 00:20:26,970 nagyon hasonló ötlet. 410 00:20:31,470 --> 00:20:32,670 Kérje javaslatok? 411 00:20:32,670 --> 00:20:35,810 >> ALI: Srácok - Várj, nem tudom, milyen messze vagytok. 412 00:20:35,810 --> 00:20:40,060 Most a legtöbben kész, még mindig dolgozik, Ön beragadt? 413 00:20:40,060 --> 00:20:42,020 Ti is kiáltani - 414 00:20:42,020 --> 00:20:42,330 beragadt. 415 00:20:42,330 --> 00:20:43,210 Egy ember beszorult. 416 00:20:43,210 --> 00:20:43,560 Cool. 417 00:20:43,560 --> 00:20:44,700 Én inkább beragadt is. 418 00:20:44,700 --> 00:20:45,415 SPEAKER 13: kész vagyok. 419 00:20:45,415 --> 00:20:46,410 ALI: Te csináltál? 420 00:20:46,410 --> 00:20:47,480 Oké. 421 00:20:47,480 --> 00:20:47,935 Kész. 422 00:20:47,935 --> 00:20:49,300 13 hangszóró: [hangtalan] 423 00:20:49,300 --> 00:20:50,600 ALI: Igen, jó. 424 00:20:50,600 --> 00:20:53,720 Ön ellenőrzi, hogy ez a kisbetűs formában? 425 00:20:53,720 --> 00:20:56,730 Oké, király. 426 00:20:56,730 --> 00:20:59,882 Hol van a többi ember? 427 00:20:59,882 --> 00:21:06,140 Hasznosnak ezt tipp segít, mint un-ragasztás magad? 428 00:21:06,140 --> 00:21:09,778 SPEAKER 14: Nem igazán, de csak azért, mert nem tudom, nem vagyok 429 00:21:09,778 --> 00:21:11,590 emésztő még. 430 00:21:11,590 --> 00:21:12,640 ALI: Oké, király. 431 00:21:12,640 --> 00:21:13,431 Szeretné kipróbálni - 432 00:21:13,431 --> 00:21:16,140 vagy nem akarsz menni és beszélni? 433 00:21:16,140 --> 00:21:18,590 >> ROB: Azt akartam mondani - 434 00:21:18,590 --> 00:21:19,890 így használatával. 435 00:21:19,890 --> 00:21:22,650 Érted, hogyan jutottunk milyen pozícióban az ábécé 436 00:21:22,650 --> 00:21:24,820 a levél van? 437 00:21:24,820 --> 00:21:30,616 SPEAKER 14: Oké, így amikor a dolgokat egyetlen idézet, 438 00:21:30,616 --> 00:21:35,030 hogy visszaad egy számot? 439 00:21:35,030 --> 00:21:37,100 ROB: Igen. 440 00:21:37,100 --> 00:21:40,840 Ez lesz lefordítva az ASCII értéket képvisel. 441 00:21:40,840 --> 00:21:43,350 Szóval, nem akarsz menni ASCII tábla vagy akármi is? 442 00:21:46,456 --> 00:21:47,840 ALI: Csak egy ilyen? 443 00:21:47,840 --> 00:21:49,970 ROB: Aha. 444 00:21:49,970 --> 00:21:55,270 Szóval, ha fel sem jelentenek ezek a jelek, figyelmen kívül hagyva egy csomó - 445 00:21:55,270 --> 00:21:56,450 ALI: [hangtalan] 446 00:21:56,450 --> 00:21:57,620 ROB: Ó, a kurzor. 447 00:21:57,620 --> 00:21:58,380 ALI: Igen. 448 00:21:58,380 --> 00:21:59,690 Ez izgalmas volt. 449 00:21:59,690 --> 00:22:04,050 ROB: Szóval, figyelmen kívül hagyva ezek közül a bal oldalon, amelyek a speciális szimbólumok - 450 00:22:04,050 --> 00:22:08,520 ha tesz ezek bármelyike ​​szimbólumok aposztrófot, akkor lesz 451 00:22:08,520 --> 00:22:11,620 fordítva ez az érték a bal oldalon. 452 00:22:11,620 --> 00:22:13,660 ALI: Ez a decimális szám érte. 453 00:22:13,660 --> 00:22:19,710 Ez olyan, mint egy mérkőzés, 65, B 66, és észre fogod venni, hogy ők mind 454 00:22:19,710 --> 00:22:21,540 ábécérendben, ami a különbséget. 455 00:22:21,540 --> 00:22:27,110 Szóval, ahogy Rob mondta, korábban, a kódot, voltunk kiszámításának távolság 456 00:22:27,110 --> 00:22:29,610 Az első levél, per se. 457 00:22:29,610 --> 00:22:32,820 És ez lesz ugyanaz, függetlenül attól, hogy nagy-vagy kisbetűs. 458 00:22:32,820 --> 00:22:38,390 ROB: Tehát amikor megcsináltuk D, 68 mínusz egy, 65, akkor kap 3. 459 00:22:38,390 --> 00:22:42,370 Mivel a D-három pozíció az ábécé. 460 00:22:42,370 --> 00:22:46,680 ALI: Tehát akkor hogyan kíván fordítani, hogy több mint, hogy megtalálják a kis d? 461 00:22:46,680 --> 00:22:47,240 ROB: Igen. 462 00:22:47,240 --> 00:22:52,230 Szóval, ha van 3 most tudom, akarok menni három levelet a - 463 00:22:52,230 --> 00:22:54,830 mi történik, hogy megy kisbetű most, de mondjuk szeretnék utazni 3 464 00:22:54,830 --> 00:22:58,610 pozíciók a kisbetűs oldala a dolgoknak. 465 00:22:58,610 --> 00:23:01,400 Szóval, hogyan tudom megtenni? 466 00:23:01,400 --> 00:23:04,240 Tudom, hogy van egy kisbetűs 97. 467 00:23:04,240 --> 00:23:07,535 Szóval hogyan találom meg három pozíció a kisbetűk? 468 00:23:10,461 --> 00:23:11,934 >> SPEAKER 15: Van egy kérdésem valójában. 469 00:23:11,934 --> 00:23:12,425 ALI: Igen, folytasd. 470 00:23:12,425 --> 00:23:14,880 SPEAKER 15: Tehát ezt, nem igazán számít, ha tudom, hogy ezt az álláspontot, 471 00:23:14,880 --> 00:23:16,360 tetszik, nem kell ebben a táblázatban. 472 00:23:16,360 --> 00:23:16,840 ROB: Nem. 473 00:23:16,840 --> 00:23:19,380 Te soha nem kell használni minden ilyen számokat. 474 00:23:19,380 --> 00:23:23,670 És ez egy fontos pont a programokban, hogy soha ne keményen 475 00:23:23,670 --> 00:23:25,500 kódolásához ezek bármelyike ​​állandók. 476 00:23:25,500 --> 00:23:31,190 Használja a 'A'. soha ne használjon 65 vagy 97. 477 00:23:31,190 --> 00:23:34,370 ALI: Azok az úgynevezett mágikus szám, és ők nagyon zavaró. 478 00:23:34,370 --> 00:23:37,080 Mint, amikor hibakeresés egy kódot, akkor lehet, hogy nem emlékszem, mit 479 00:23:37,080 --> 00:23:38,020 használt őket. 480 00:23:38,020 --> 00:23:40,770 És nekünk osztályozási kódot, akkor nem igazán tudom, mit 481 00:23:40,770 --> 00:23:41,750 Ön használja őket. 482 00:23:41,750 --> 00:23:44,815 Tehát jobb, ha valóban használja a karaktereket, így teszi 483 00:23:44,815 --> 00:23:46,065 több értelme van az embereknek. 484 00:23:49,460 --> 00:23:51,160 Oké, más kérdés? 485 00:23:51,160 --> 00:23:52,975 Ön több embert tenni, vagy - 486 00:23:56,243 --> 00:23:57,493 Azt hiszem, tudjuk ellenőrizni. 487 00:23:59,870 --> 00:24:02,410 Ez igazán hátborzongató, hogy lássuk az emberek kódot. 488 00:24:02,410 --> 00:24:04,970 ROB: Igen. 489 00:24:04,970 --> 00:24:06,410 Nem kell tennie, hogy itt. 490 00:24:06,410 --> 00:24:08,380 Nem tudjuk, hogy az emberek nevét sem. 491 00:24:08,380 --> 00:24:10,940 ALI: Ó, igen, jól teszi, hogy a jobb, így lesz még elfogulatlan 492 00:24:10,940 --> 00:24:14,820 ahelyett, hogy csak véletlenszerűen szedés valakit. 493 00:24:14,820 --> 00:24:15,360 Ne aggódj. 494 00:24:15,360 --> 00:24:16,265 Nem fogom megtenni. 495 00:24:16,265 --> 00:24:20,396 Ha random dolgot - mindegy. 496 00:24:20,396 --> 00:24:20,870 Oké. 497 00:24:20,870 --> 00:24:22,556 Hogy az emberek csinálnak? 498 00:24:22,556 --> 00:24:26,950 >> SPEAKER 17: Tehát a 9. sorban kell kinyomtatni a karakter? 499 00:24:26,950 --> 00:24:27,430 ROB: Igen. 500 00:24:27,430 --> 00:24:27,910 ALI: Igen. 501 00:24:27,910 --> 00:24:30,770 Szóval, ha lemegy - 502 00:24:30,770 --> 00:24:32,200 ROB: Oh, nem tehetem. 503 00:24:32,200 --> 00:24:35,400 ALI: Látni fogod, hogy a nyomtatott hash szimbólum. 504 00:24:35,400 --> 00:24:37,180 SPEAKER 17: Ó, oké. 505 00:24:37,180 --> 00:24:41,290 ROB: Azt hiszem, más módon lehet nézni a dolgokat a mi nyomtat 506 00:24:41,290 --> 00:24:42,540 karakter. 507 00:24:44,500 --> 00:24:47,740 Először egy vagyunk nyomtat a levél A. 508 00:24:47,740 --> 00:24:51,610 A következő egy mi nyomtatás mindössze 65. 509 00:24:51,610 --> 00:24:54,450 Ez valószínűleg kiabálj velem ezen. 510 00:24:54,450 --> 00:25:00,060 Tehát ha csak futtatni ezt, észre fogod venni, hogy kiírja A mindkét alkalommal. 511 00:25:00,060 --> 00:25:02,070 Mert kérünk, hogy ugyanaz a dolog. 512 00:25:02,070 --> 00:25:07,840 Kérünk, hogy nyomtassa ki a levelet A. És akkor kérünk, hogy nyomtassa ki a 513 00:25:07,840 --> 00:25:13,820 szám 65 értelmezni, mint egy karakter, ami ugyanaz a dolog. 514 00:25:13,820 --> 00:25:15,100 ALI: Van valami mondanivalója? 515 00:25:15,100 --> 00:25:18,150 Ó, csak vicceltem, bocs. 516 00:25:18,150 --> 00:25:20,640 Rendben, hogy az emberek - 517 00:25:20,640 --> 00:25:22,280 ROB: Mi tud csak járni rajta. 518 00:25:22,280 --> 00:25:25,250 >> ALI: Oké, akkor hogyan kezdjem? 519 00:25:25,250 --> 00:25:26,500 Valaki? 520 00:25:28,030 --> 00:25:34,486 Mint egy tipp, van, hogy valamit kapjunk az emberek, a typers. 521 00:25:34,486 --> 00:25:36,850 SPEAKER 18: [hangtalan] 522 00:25:36,850 --> 00:25:38,290 ALI: Ó igen, a gyors, tökéletes. 523 00:25:38,290 --> 00:25:40,660 Szóval mi írjuk - 524 00:25:40,660 --> 00:25:41,670 mit írjon? 525 00:25:41,670 --> 00:25:43,660 Valaki? 526 00:25:43,660 --> 00:25:46,480 Vagy csak írja? 527 00:25:46,480 --> 00:25:47,530 Vagyunk valójában gépelés a - 528 00:25:47,530 --> 00:25:48,430 ROB: Persze. 529 00:25:48,430 --> 00:25:50,990 ALI: Tehát akkor írja printf, hogy jelezzen, így lehetünk 530 00:25:50,990 --> 00:25:54,810 tetszik, adj egy karaktert. 531 00:25:54,810 --> 00:25:55,710 Oké, és akkor mi lesz? 532 00:25:55,710 --> 00:25:56,664 Miért csinálja ezt? 533 00:25:56,664 --> 00:25:57,620 ROB: Nem tudom. 534 00:25:57,620 --> 00:26:00,070 ALI: Oké. 535 00:26:00,070 --> 00:26:03,680 Szóval most, mi azt mondta nekik, hogy adjanak nekünk egy karaktert. 536 00:26:03,680 --> 00:26:07,064 De akkor hogyan lehet, hogy tényleg kap, hogy a karakter? 537 00:26:07,064 --> 00:26:10,060 SPEAKER 19: Használat 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 Oké, mi a különbség egy húr, és a char? 541 00:26:17,038 --> 00:26:20,020 SPEAKER 19: Strings egy sor, mint egy sor karakter. 542 00:26:20,020 --> 00:26:21,910 >> ALI: Cool, igen. 543 00:26:21,910 --> 00:26:25,550 Tehát ezt a problémát, csak akkor kell figyelembe venni egy karaktert egy időben, így a 544 00:26:25,550 --> 00:26:28,400 mi csak csinálni GetChar e például. 545 00:26:28,400 --> 00:26:32,400 ROB: tudtuk végrehajtani a funkciót, ha azt akartuk, hogy volt egy teljes szöveg 546 00:26:32,400 --> 00:26:35,750 és odament a húr és megváltoztatta csupa kisbetűvel a nagybetűs, és minden 547 00:26:35,750 --> 00:26:37,380 nagybetűs kisbetűs lesz. 548 00:26:37,380 --> 00:26:39,170 De itt, mi csak kérdezem egy karaktert. 549 00:26:39,170 --> 00:26:42,800 ALI: Tehát most már a karakter itt, de akkor meg kell menteni. 550 00:26:42,800 --> 00:26:45,070 Így aztán hozzá char c - mit? 551 00:26:45,070 --> 00:26:46,070 SPEAKER 20: Adjuk meg a változó. 552 00:26:46,070 --> 00:26:48,100 ALI: Igen, pontosan. 553 00:26:48,100 --> 00:26:49,585 Tehát a karakter. 554 00:26:49,585 --> 00:26:51,766 ROB: Azt hiszem, lehet, hogy - 555 00:26:51,766 --> 00:26:55,630 te csak három terek, ezért ez kiabál veled. 556 00:26:55,630 --> 00:27:01,300 >> ALI: Oké, cool, most, hogy már bejárási állhatatos, mi történik ezután? 557 00:27:01,300 --> 00:27:02,550 Mi a következő lépés? 558 00:27:05,590 --> 00:27:08,870 ROB: Mi az a program kell tenned, hogy változik a kisbetű egy 559 00:27:08,870 --> 00:27:10,130 nagybetűs. 560 00:27:10,130 --> 00:27:15,478 Mit tegyek, ha történetesen be a hash jel? 561 00:27:15,478 --> 00:27:16,314 Ez - 562 00:27:16,314 --> 00:27:16,732 ALI: Ez egy jó jel. 563 00:27:16,732 --> 00:27:18,270 Arra használjuk, hogy egy csomó. 564 00:27:18,270 --> 00:27:21,937 ROB: Az, hogy egy érvényes dolog, amit lehet konvertálni egy nagybetűs formában? 565 00:27:21,937 --> 00:27:23,070 SPEAKER 21: Nem. 566 00:27:23,070 --> 00:27:24,070 ALI: Nem 567 00:27:24,070 --> 00:27:24,900 Meg kell ellenőrizni, hogy. 568 00:27:24,900 --> 00:27:34,950 Tehát van egy if utasítás ellenőrzi, így ha a c-nél nagyobb 569 00:27:34,950 --> 00:27:37,410 vagy egyenlő a kis 'a'- 570 00:27:37,410 --> 00:27:45,490 így ha megnézzük a táblázatot, észre fogod venni, hogy kell lennie között itt, 571 00:27:45,490 --> 00:27:47,670 A 97, és a kisbetűs egy. 572 00:27:47,670 --> 00:27:52,110 , És ez lehet bármely ilyen, és lépésekben egészen le. 573 00:27:52,110 --> 00:27:55,200 És akkor ott van Z 122. 574 00:27:55,200 --> 00:27:58,215 És azt, hogy esik a két érték között. 575 00:27:58,215 --> 00:27:59,700 Van ennek értelme? 576 00:27:59,700 --> 00:28:04,130 ROB: Tehát, ha c nem között 97 és 122 - 577 00:28:04,130 --> 00:28:09,960 vagy soha nem kell használni ezeket a számokat - ha c nem között "a" és 578 00:28:09,960 --> 00:28:15,110 "Z", akkor ez nem érvényes karakter számunkra nagybetűs lesz. 579 00:28:15,110 --> 00:28:18,590 ALI: Tehát kód formájában, azt mondjuk, hogy ha c nagyobb vagy egyenlő, mint egységes 580 00:28:18,590 --> 00:28:19,640 esetben kisbetűs - 581 00:28:19,640 --> 00:28:21,270 wow, hogyan mondod ezt? 582 00:28:21,270 --> 00:28:26,900 Rendben, nagyobb vagy egyenlő, mint a kis 'egy ", és azt, hogy meghaladja 583 00:28:26,900 --> 00:28:32,250 A kisbetűs "z". Így azt, hogy kevesebb, mint vagy egyenlő kisbetűs "z". 584 00:28:32,250 --> 00:28:35,300 Mi meggyőződve arról, hogy ez a kettő között. 585 00:28:35,300 --> 00:28:38,540 Akkor tovább a mi boldog kódot. 586 00:28:41,992 --> 00:28:43,360 Mi az? 587 00:28:43,360 --> 00:28:46,860 ROB: Szóval gondoltam mi lenne, csak folyamatosan azt kérdezi, ha történetesen nincs 588 00:28:46,860 --> 00:28:48,250 kisbetű. 589 00:28:48,250 --> 00:28:51,130 ALI: Ó, nem voltam tudatában. 590 00:28:51,130 --> 00:28:52,820 Bocsánat. 591 00:28:52,820 --> 00:28:58,100 >> Oké, ha fogunk csinálni, mint Rob mondja, és győződjön meg arról, hogy - 592 00:28:58,100 --> 00:29:02,068 tudjuk tartani felkérve őket, akkor mit tegyünk? 593 00:29:02,068 --> 00:29:02,994 SPEAKER 22: [hangtalan] 594 00:29:02,994 --> 00:29:03,530 ROB: Igen. 595 00:29:03,530 --> 00:29:05,630 Ki kell használni valamilyen hurok. 596 00:29:05,630 --> 00:29:12,900 Mivel a felhasználó megadhatja valami érvénytelen a tömérdek mennyiségű szer. 597 00:29:12,900 --> 00:29:14,990 Így használja a while ciklus. 598 00:29:14,990 --> 00:29:18,870 A cél a do-while loop - 599 00:29:18,870 --> 00:29:21,340 szó, az egyetlen alkalommal az egész életében, amit valaha is használni do- 600 00:29:21,340 --> 00:29:24,780 while ciklushoz képest, amikor kér a felhasználótól. 601 00:29:24,780 --> 00:29:28,260 Így az a tény, kérünk felhasználói itt van egy tipp, hogy meg kell 602 00:29:28,260 --> 00:29:29,660 használja a do-while ciklus. 603 00:29:29,660 --> 00:29:30,780 És miért van ez? 604 00:29:30,780 --> 00:29:34,270 Mivel a do-while ciklus mindig történik legalább egyszer. 605 00:29:34,270 --> 00:29:40,260 Tehát, ha kérsz felhasználói adatbevitel, szeretné, hogy ez történjen, legalább egyszer. 606 00:29:40,260 --> 00:29:42,750 És ha a dolgok sikeres volt, akkor folytasd. 607 00:29:42,750 --> 00:29:45,130 Ha nem, menj vissza és kérdezd meg újra. 608 00:29:45,130 --> 00:29:48,950 >> ALI: Más szóval, meg kell tennünk részt. 609 00:29:48,950 --> 00:29:51,130 És ez azt mondja, hogy tegyen valamit. 610 00:29:51,130 --> 00:29:53,890 Szóval printf - 611 00:29:53,890 --> 00:29:57,490 nyomtassa ki a nyilatkozatot, a gyors, és kap a karakter, vagy próbálja 612 00:29:57,490 --> 00:29:58,780 kap egy karaktert. 613 00:29:58,780 --> 00:30:03,410 És akkor mi van, ha szeretné ellenőrizni, hogy valójában tette helyesen. 614 00:30:03,410 --> 00:30:07,730 Akkor adjuk hozzá a feltételeket, akkor azt mondjuk, közben, és akkor van a 615 00:30:07,730 --> 00:30:08,980 feltételes utasítás. 616 00:30:11,600 --> 00:30:14,730 ROB: De most már megfordult a gondolatmenet. 617 00:30:14,730 --> 00:30:18,940 Most eredetileg azt mondták, ha c ebben a tartományban van, akkor érvényes. 618 00:30:18,940 --> 00:30:23,340 Most szeretnénk fordítani, hogy az, és azt mondják, ha c nem ebben a tartományban van, akkor 619 00:30:23,340 --> 00:30:25,020 kell, hogy vissza a dolgokat újra. 620 00:30:25,020 --> 00:30:25,900 ALI: Ó, igen. 621 00:30:25,900 --> 00:30:31,720 ROB: Tehát miközben ez nem igaz, azt akarjuk, hogy menjen vissza, és 622 00:30:31,720 --> 00:30:34,470 kérjen másik karaktert. 623 00:30:34,470 --> 00:30:36,880 Mindenki látja, hogy? 624 00:30:36,880 --> 00:30:38,830 Kérdések ezzel kapcsolatban? 625 00:30:38,830 --> 00:30:39,400 Oké. 626 00:30:39,400 --> 00:30:43,480 >> Tehát most van egy érvényes karakter, hogy tudjuk nagybetűs lesz. 627 00:30:43,480 --> 00:30:47,150 ALI: Akkor mi a következő lépés nagybetűre váltást ez? 628 00:30:49,994 --> 00:30:51,890 SPEAKER 23: Felvétel 32. 629 00:30:51,890 --> 00:30:52,600 ALI: You add - 630 00:30:52,600 --> 00:30:54,150 Sajnáljuk, de mit? 631 00:30:54,150 --> 00:30:56,580 SPEAKER 23: Nem csak hozzá 32? 632 00:30:56,580 --> 00:31:02,360 ROB: Szóval igen, nem pedig a mágikus számok. 633 00:31:02,360 --> 00:31:04,610 Csak akkor használja egyszeres idézőjel cucc. 634 00:31:04,610 --> 00:31:06,450 SPEAKER 23: Oké, nos - 635 00:31:06,450 --> 00:31:07,250 Rob: De lehet kapni 32 - 636 00:31:07,250 --> 00:31:11,870 ALI: Hogyan kerültél a szám 32, azt hiszem, az, amit mondasz. 637 00:31:11,870 --> 00:31:18,060 SPEAKER 23: [hangtalan] 638 00:31:18,060 --> 00:31:22,158 ROB: Tehát jön ki a 32 együtt - 639 00:31:22,158 --> 00:31:24,468 SPEAKER 23: [hangtalan]? 640 00:31:24,468 --> 00:31:24,930 ROB: Igen. 641 00:31:24,930 --> 00:31:28,540 De ha fogjuk csinálni a két lépést tettünk, mielőtt a 642 00:31:28,540 --> 00:31:29,950 a pozíció cucc. 643 00:31:29,950 --> 00:31:36,910 Tehát a helyzet az, hogy az ábécé c történik, hogy a c mínusz kisbetűs 644 00:31:36,910 --> 00:31:42,360 'A'. Tehát ha be egy kisbetűs 'd', helyzete lesz 3. 645 00:31:42,360 --> 00:31:46,490 És most azt szeretné, hogy a dolgokat a nagybetűs köre dolgokat. 646 00:31:46,490 --> 00:31:55,376 Tehát most az új c lesz a főváros "A" plus állásba. 647 00:31:55,376 --> 00:32:00,090 Tehát nem látják, hogy hogyan hoz nekünk - 648 00:32:00,090 --> 00:32:04,140 haladunk a kisbetűs tartományban, a pontos mélysége voltunk ebbe a 649 00:32:04,140 --> 00:32:07,650 tartományban, és megy le a nagybetűs tartományban, és megy, hogy messze 650 00:32:07,650 --> 00:32:10,610 bele újra, ami lesz ugyanazt a karaktert, de most 651 00:32:10,610 --> 00:32:12,550 uppercased. 652 00:32:12,550 --> 00:32:16,490 ALI: És az emberek, hogy összezavarodtak, hogy mennyire mondott 32, 653 00:32:16,490 --> 00:32:20,390 Alapvetően ő együttes mindkét egyetlen nyilatkozatot. 654 00:32:20,390 --> 00:32:24,550 Tehát egyenértékű írásmódja ezt mondta akkor csak egyfajta 655 00:32:24,550 --> 00:32:28,190 helyettesítő helyzetben van, a c mínusz "egy", és tedd itt. 656 00:32:28,190 --> 00:32:31,330 Szóval, mit csinált, azt nem - 657 00:32:31,330 --> 00:32:44,510 char nEwC = nagybetűs "A" plusz mínusz c kisbetűs "a". És mert az algebra, 658 00:32:44,510 --> 00:32:47,090 tudja mozgatni őket körül. 659 00:32:47,090 --> 00:32:52,960 Azt is mondhatjuk, hogy tudja mozgatni, így char nEwC = nagybetűs "A" 660 00:32:52,960 --> 00:32:55,620 mínusz kisbetűs "a" plus c. 661 00:32:55,620 --> 00:32:58,650 És ez, észre fogod venni, ha visszamegyünk a chart. 662 00:33:01,160 --> 00:33:06,300 Van nagybetűs A jelentése 65, a kisbetűs a 97. 663 00:33:06,300 --> 00:33:09,800 Így 65-97 az -32. 664 00:33:09,800 --> 00:33:10,020 >> Szia. 665 00:33:10,020 --> 00:33:10,930 Vegyünk egy helyet. 666 00:33:10,930 --> 00:33:12,180 Oh. 667 00:33:16,240 --> 00:33:17,980 Akkor ülj ide. 668 00:33:17,980 --> 00:33:20,805 Cool, oké, félelmetes. 669 00:33:20,805 --> 00:33:22,390 Üdvözöljük a szakasz. 670 00:33:22,390 --> 00:33:25,110 Észre fogod venni, hogy a különbség 32. 671 00:33:25,110 --> 00:33:28,150 Szóval ott van ez a szám. 672 00:33:28,150 --> 00:33:32,140 De nem úgy, mint Rob azt mondja, a legjobb módja annak, hogy csináld, mert a furcsa 673 00:33:32,140 --> 00:33:35,260 bűvös szám zavart. 674 00:33:35,260 --> 00:33:38,710 ROB: Akkor kell használnod tőke A mínusz kisbetűre a. 675 00:33:38,710 --> 00:33:43,045 Ne használjon csak egyenesen 32. 676 00:33:43,045 --> 00:33:45,020 SPEAKER 24: Miért van az, hogy megint? 677 00:33:45,020 --> 00:33:49,860 Miért nem használja 32? 678 00:33:49,860 --> 00:33:55,630 ALI: Ha megcsináltuk, akkor char nEwC = -32 + c. 679 00:33:55,630 --> 00:34:00,030 És ha nem lát a többi is, ha ez mind elmentek, és 680 00:34:00,030 --> 00:34:04,720 csak lásd ezen egyetlen sorban, akkor honnan tudod, hogy mi a negatív 32 van? 681 00:34:04,720 --> 00:34:07,000 Ez csak a helyén. 682 00:34:07,000 --> 00:34:10,360 ROB: Tehát a program működik teljesen jól. 683 00:34:10,360 --> 00:34:12,960 Ez csak egy stílus dolog. 684 00:34:12,960 --> 00:34:17,760 Valaki megy és az olvasás a kódot, ők, mint amit jelent 32 jelent? 685 00:34:17,760 --> 00:34:18,889 Lehet, hogy nem - 686 00:34:18,889 --> 00:34:22,090 Talán nem azonnal észre, hogy 32 történik, hogy 687 00:34:22,090 --> 00:34:25,100 különbség a kisbetű és nagybetű, bár 688 00:34:25,100 --> 00:34:26,510 fogjuk használni ezt a tényt a következő probléma. 689 00:34:30,210 --> 00:34:31,610 A 32 - 690 00:34:31,610 --> 00:34:38,579 tudna kommentezni felette mondván 32 a különbség 691 00:34:38,579 --> 00:34:45,290 "A" és "." De ezen a ponton, miért nem használja az "A" és "a", és 692 00:34:45,290 --> 00:34:47,469 nem kell a megjegyzést majd. 693 00:34:47,469 --> 00:34:52,739 >> ALI: Ez csak a módját fölötte egy sokkal tisztább, style-bölcs. 694 00:34:52,739 --> 00:34:54,590 És így, mert csak most kezdő programozás - 695 00:34:54,590 --> 00:34:57,775 Azt hiszem, vagy nem, mert te hacker edi - mindegy. 696 00:34:57,775 --> 00:34:59,420 Ez csak egy jó módja annak, hogy - 697 00:34:59,420 --> 00:35:01,230 ez jobb, jobb stílust. 698 00:35:01,230 --> 00:35:02,850 Könnyebb más emberek olvasni. 699 00:35:02,850 --> 00:35:06,560 ROB: Akkor soha nem kell emlékezni az ASCII tábla, soha. 700 00:35:06,560 --> 00:35:09,505 Meg kéne hogy képes legyen használni az aposztróf karakter. 701 00:35:12,390 --> 00:35:12,730 Kérdései vannak? 702 00:35:12,730 --> 00:35:13,980 ALI: Mindenki jó? 703 00:35:16,020 --> 00:35:16,430 ROB: Oké. 704 00:35:16,430 --> 00:35:23,320 Így a következő probléma jelentős. 705 00:35:23,320 --> 00:35:24,660 Így a következő probléma kéri tőlünk - 706 00:35:27,880 --> 00:35:31,570 ALI: A következő probléma kér minket, hogy nem ugyanaz a dolog, de kezelhető 707 00:35:31,570 --> 00:35:32,640 bitenkénti operátorok. 708 00:35:32,640 --> 00:35:35,170 ROB: És persze, nem láttuk bitenkénti operátorok még. 709 00:35:35,170 --> 00:35:38,874 Tehát akkor most megvitatni azokat. 710 00:35:38,874 --> 00:35:39,540 ALI: Légy izgatott. 711 00:35:39,540 --> 00:35:41,490 Ők super fun. 712 00:35:41,490 --> 00:35:47,927 >> ROB: Tehát a rendszeres piaci szereplők, mint x és y, mínusz, idők, megosztottság. 713 00:35:47,927 --> 00:35:50,850 ALI: Írja be azt az e gyors. 714 00:35:50,850 --> 00:35:55,420 Rob: Van még%, ha még nem látta, amelynek segítségével a 715 00:35:55,420 --> 00:35:57,130 százalék szimbólum. 716 00:35:57,130 --> 00:35:59,090 De nem fogja felhasználni ezeket erre a problémára. 717 00:35:59,090 --> 00:36:01,400 Azt szeretnénk használni bitenkénti operátorok. 718 00:36:01,400 --> 00:36:06,250 Most már emlékszem, azt hozta fel előadás 1. 719 00:36:06,250 --> 00:36:10,760 Nem vagyok benne biztos, ha már tárgyalt bináris túl. 720 00:36:10,760 --> 00:36:13,710 De ne feledjük, hogy minden egyes szám képviseli - 721 00:36:13,710 --> 00:36:14,540 Nos, mindent - 722 00:36:14,540 --> 00:36:17,860 képviselteti magát 1 és 0 bináris. 723 00:36:17,860 --> 00:36:27,320 Tehát ez azt jelenti, hogy ha azt mondom, a 8-as számmal, véletlenül tudom, hogy ez 724 00:36:27,320 --> 00:36:30,240 mint, 1000. 725 00:36:30,240 --> 00:36:35,530 Mi bitenkénti operátorok tegyünk a működésre ezeket a biteket - 726 00:36:35,530 --> 00:36:37,000 van működik ezeket a biteket közvetlenül. 727 00:36:40,160 --> 00:36:42,490 Most már nem foglalkozik szempontjából nyolc. 728 00:36:42,490 --> 00:36:45,930 Én foglalkozik szempontjából 1000, és azt akarom csinálni a dolgokat azokkal 729 00:36:45,930 --> 00:36:47,670 egyes bitek. 730 00:36:47,670 --> 00:36:52,520 Szóval Ali írt a bitenkénti operátorok itt, de ez - 731 00:36:55,060 --> 00:36:58,020 A 8-as számú fogjuk használni, mint az egyik példa számok. 732 00:36:58,020 --> 00:37:02,980 És a bináris 1000. 733 00:37:02,980 --> 00:37:06,520 Majd egy másik számot, 5 - 734 00:37:06,520 --> 00:37:12,070 ténylegesen vegyünk 9 és 5. 735 00:37:12,070 --> 00:37:15,778 És az 5-ös bináris a 00 - 736 00:37:15,778 --> 00:37:18,380 0101. 737 00:37:18,380 --> 00:37:19,480 ALI: Mindenki jól áll ez? 738 00:37:19,480 --> 00:37:21,040 A bináris cucc? 739 00:37:21,040 --> 00:37:23,740 Ez volt az első előadás? 740 00:37:23,740 --> 00:37:29,070 >> ROB: Tehát akkor is, ha nem teljesen a tetején, hogyan kell átalakítani a dolgokat 741 00:37:29,070 --> 00:37:31,700 bináris, ez nem teljesen fontos erre a problémára. 742 00:37:31,700 --> 00:37:36,560 Fogjuk használni, de akkor már sokkal több esélye, hogy kitaláljuk, hogyan lehet 743 00:37:36,560 --> 00:37:39,250 Gyorsan kör dolgokat bináris. 744 00:37:39,250 --> 00:37:43,820 Tehát a 9 és 5, most már a bitenkénti operátorok. 745 00:37:43,820 --> 00:37:48,620 Ó, és szintén, 9 és 5, ha ez egy egész szám, akkor valóban ez a 32 bit, 746 00:37:48,620 --> 00:37:53,150 ami azt jelenti, hogy, mint a 0, 0, 0, 0 sokszor, akkor 747 00:37:53,150 --> 00:37:55,330 101 a legvégén. 748 00:37:55,330 --> 00:37:58,530 Ez csak azért, mert nem számít, mit teszel, az egész számok, 32 bit. 749 00:37:58,530 --> 00:38:01,570 Csak azért, mert csak be kell négy bit, hogy képviselje 9 nem jelenti azt, hogy nem vagyunk 750 00:38:01,570 --> 00:38:05,500 használja fel a másik 27 bit mindössze 0s. 751 00:38:05,500 --> 00:38:10,110 ALI: Csak, hogy tisztázza, az egyik ezek a számok, hogy ez a 0 vagy 1 egy kicsit. 752 00:38:10,110 --> 00:38:11,830 Ez egy 4 bit. 753 00:38:11,830 --> 00:38:14,320 Mint oly Rob azt mondta, hogy a gépek tárolja őket 32. 754 00:38:14,320 --> 00:38:19,430 Így akkor akkor azokat 32 vagy egy 0 vagy a 1. 755 00:38:19,430 --> 00:38:22,190 Cool? 756 00:38:22,190 --> 00:38:23,610 ROB: A bitenkénti operátorok. 757 00:38:23,610 --> 00:38:27,310 Az első, hogy mi foglalkozunk, csináljuk &. 758 00:38:27,310 --> 00:38:31,260 Szóval, ha mi 9 & 5. 759 00:38:31,260 --> 00:38:38,310 Szóval mit csinál, és, apránként, összehasonlítja a bitek a két szám 760 00:38:38,310 --> 00:38:44,860 és ha mind a számok az 1, akkor vissza fog térni a 1. 761 00:38:44,860 --> 00:38:50,870 Ha valaki egy 0 és a másik jelentése egy 1, vagy mindkettő 0s, akkor ad vissza 0. 762 00:38:50,870 --> 00:38:53,060 Szóval lehet gondolni rá, mint a logikai ands. 763 00:38:53,060 --> 00:38:59,270 Ahogy kell, igaz, és igaz, hogy vissza igaz, de igaz és hamis hamis. 764 00:38:59,270 --> 00:39:02,390 Szóval ez ugyanaz a dolog, de most dolgunk vele mindössze bit. 765 00:39:02,390 --> 00:39:04,910 >> ALI: Tehát, ha megnézi ezt, akkor is 1 - 766 00:39:04,910 --> 00:39:08,490 akkor sorban őket, így lesz 1 és 0-ra. 767 00:39:08,490 --> 00:39:11,036 Srácok, úgy gondolja, hogy lenne - mi lenne az értékeli a? 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 Vagy nem. 771 00:39:16,850 --> 00:39:18,830 Bocsánat. 772 00:39:18,830 --> 00:39:21,290 Tehát nem, hogy van értelme? 773 00:39:21,290 --> 00:39:23,200 Tehát mi a kollektív válasz megint? 774 00:39:23,200 --> 00:39:24,750 Bocsánat. 775 00:39:24,750 --> 00:39:27,530 Tehát, ha van 1 és 0, akkor mit kapsz? 776 00:39:27,530 --> 00:39:30,260 ROB: Tehát úgy gondolja, hogy hogyan mondod, és hangosan. 777 00:39:30,260 --> 00:39:37,550 Ha két bit, x és y, szükség van az x és y értéke 1 legyen, hogy ez 778 00:39:37,550 --> 00:39:40,770 értékelésére true - vagy annak érdekében,, hogy értékelje 1-re. 779 00:39:40,770 --> 00:39:45,650 Ha az x vagy y értéke 0, akkor az eredménye hamis vagy 0-ra. 780 00:39:45,650 --> 00:39:49,165 LUCAS: Jó megjegyezni azt is, hogy az 1 és 0 true hamis. 781 00:39:49,165 --> 00:39:51,684 Tehát, ha igaz és hamis, ez hamis. 782 00:39:51,684 --> 00:39:53,570 De aztán, a valódi és igaz, igaz. 783 00:39:53,570 --> 00:39:55,040 Hamis és hamis, hamis. 784 00:39:55,040 --> 00:39:57,650 ALI: Van true és false. 785 00:39:57,650 --> 00:39:58,530 Így 1 és 0. 786 00:39:58,530 --> 00:40:00,380 Így aztán megint, sajnálom, még egyszer? 787 00:40:00,380 --> 00:40:02,210 SPEAKER 25: lenne 0. 788 00:40:02,210 --> 00:40:03,560 Ja, király. 789 00:40:03,560 --> 00:40:05,400 És akkor már 0 & 1 - 790 00:40:05,400 --> 00:40:06,260 SPEAKER 25: [hangtalan] 791 00:40:06,260 --> 00:40:06,680 ALI: Igen. 792 00:40:06,680 --> 00:40:09,790 Így mindig cserélni őket - 793 00:40:09,790 --> 00:40:12,150 Aztán ha 0 és 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: Tehát ez 0. 797 00:40:16,230 --> 00:40:18,870 Ez nem, hogy mindkét számban meg kell egyeznie. 798 00:40:18,870 --> 00:40:22,030 Ez az, hogy a két számot kell 1. 799 00:40:22,030 --> 00:40:26,150 ALI: Tehát mindketten, hogy igaz az, hogy igaz legyen. 800 00:40:26,150 --> 00:40:26,950 Szóval ez 0. 801 00:40:26,950 --> 00:40:30,540 És akkor már 1% 1, ami van? 802 00:40:30,540 --> 00:40:32,640 ROB: Ezek nagyon jó számok. 803 00:40:32,640 --> 00:40:34,362 Ők minden lehetséges - 804 00:40:34,362 --> 00:40:36,210 ALI: Szép munka, wow. 805 00:40:36,210 --> 00:40:37,080 Oké, király. 806 00:40:37,080 --> 00:40:39,220 Tehát nincs értelme, hogy mindenki számára? 807 00:40:39,220 --> 00:40:41,770 >> ROB: Tehát most megteszem |. 808 00:40:41,770 --> 00:40:51,650 És ez lesz nagyon hasonló, de most ahelyett, hogy x és y szoruló 809 00:40:51,650 --> 00:40:54,880 1-annak érdekében, hogy értékelje az egyik, most ez csak x vagy 810 00:40:54,880 --> 00:40:56,360 y kell 1. 811 00:40:56,360 --> 00:40:59,580 ALI: Tehát 1 | 0 eredménye - 812 00:40:59,580 --> 00:41:00,270 OSZTÁLY: 1. 813 00:41:00,270 --> 00:41:01,690 ALI: Cool. 814 00:41:01,690 --> 00:41:03,710 0 | 1 eredménye - 815 00:41:03,710 --> 00:41:04,420 OSZTÁLY: 1. 816 00:41:04,420 --> 00:41:06,726 ALI: Cool, majd 0 | 0 - 817 00:41:06,726 --> 00:41:07,600 OSZTÁLY: 0. 818 00:41:07,600 --> 00:41:09,320 ALI: Igen, és majd 1 | 1 - 819 00:41:09,320 --> 00:41:10,180 OSZTÁLY: 1. 820 00:41:10,180 --> 00:41:12,090 ALI: Cool. 821 00:41:12,090 --> 00:41:14,060 Szóval ez olyan, mint két bitenkénti operátorok. 822 00:41:14,060 --> 00:41:15,430 Félelmetes. 823 00:41:15,430 --> 00:41:16,440 ROB: Tehát most megteszem ^. 824 00:41:16,440 --> 00:41:18,470 ALI: Ha mi mindannyian? 825 00:41:18,470 --> 00:41:20,620 ROB: Igen, mert úgy gondolom, fogjuk használni - 826 00:41:20,620 --> 00:41:22,340 használja őket. 827 00:41:22,340 --> 00:41:23,150 ALI: Oké. 828 00:41:23,150 --> 00:41:23,570 So - 829 00:41:23,570 --> 00:41:25,540 ROB: Azt hiszem, nem kell. 830 00:41:25,540 --> 00:41:31,830 ALI: Tehát ^ működik, hogy van, hogy pontosan egy igaz és egy hamis. 831 00:41:31,830 --> 00:41:34,330 ^ Jelent kizáró VAGY. 832 00:41:34,330 --> 00:41:36,650 Szóval most már nem - 833 00:41:36,650 --> 00:41:41,220 ha x és y mindegyike 1, ez most hamis. 834 00:41:41,220 --> 00:41:46,920 Ez a különbség a ^ és |, hogy OR, akkor van, ha x 835 00:41:46,920 --> 00:41:49,440 igaz, vagy y igaz, akkor jók vagyunk. 836 00:41:49,440 --> 00:41:55,176 Nem, azt mondja, ha x ^ igaz, y hamisnak kell lennie, vagy pedig ez nem igaz. 837 00:41:55,176 --> 00:41:56,814 Van kérdése? 838 00:41:56,814 --> 00:42:00,526 >> SPEAKER 26: [hangtalan] 839 00:42:00,526 --> 00:42:00,990 ALI: Igen. 840 00:42:00,990 --> 00:42:01,830 Elég hasonló. 841 00:42:01,830 --> 00:42:07,320 ROB: Igen, így amikor kapsz, hogy az alacsony szintű hardver-cucc, ezek 842 00:42:07,320 --> 00:42:10,870 A típusú műveletek te dolgod. 843 00:42:10,870 --> 00:42:13,200 A hardver szintű, akkor csak azokkal a biteket. 844 00:42:13,200 --> 00:42:14,950 Nem foglalkozik számokat. 845 00:42:18,030 --> 00:42:23,502 ALI: Oké, a ^, vagy ha 1 ^ 0, mit kell, hogy értékelje, hogy? 846 00:42:23,502 --> 00:42:24,840 OSZTÁLY: 1. 847 00:42:24,840 --> 00:42:25,480 ALI: Cool. 848 00:42:25,480 --> 00:42:26,010 Ha 849 00:42:26,010 --> 00:42:28,370 0 ^ 1? OSZTÁLY: 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 És akkor 1 ^ 1? 854 00:42:33,460 --> 00:42:35,050 OSZTÁLY: 0. 855 00:42:35,050 --> 00:42:37,710 ALI: Cool, awesome. 856 00:42:37,710 --> 00:42:38,620 A következő egy - 857 00:42:38,620 --> 00:42:40,520 ROB: Azt gondolom, ezek mind nekünk kell foglalkozni. 858 00:42:40,520 --> 00:42:41,490 Majd csak ezek. 859 00:42:41,490 --> 00:42:43,242 ALI: Az egyetlen alkalom, akkor meg kell tennie - 860 00:42:43,242 --> 00:42:44,912 ROB: Oh, ez lesz az utolsó problémát. 861 00:42:44,912 --> 00:42:47,070 SPEAKER 27: Várj, még egyszer? 862 00:42:47,070 --> 00:42:47,940 ALI: Sajnáljuk, de mi volt a kérdés? 863 00:42:47,940 --> 00:42:49,564 >> SPEAKER 27: Meg tudod magyarázni, hogy ismét? 864 00:42:49,564 --> 00:42:50,100 A ^? 865 00:42:50,100 --> 00:42:51,490 SPEAKER 27: Exclus - igen. 866 00:42:51,490 --> 00:42:55,800 ALI: Tehát mi a kizáró VAGY azt jelenti, hogy ott kell lennie kizárólag 867 00:42:55,800 --> 00:43:02,970 egy igaz és egy hamis, így egy 1 és egy 0, versus OR, akkor van - 868 00:43:02,970 --> 00:43:06,170 egyikük kell lennie igaz, vagy mindkettő lehet igaz, mert 869 00:43:06,170 --> 00:43:07,130 értékelni igaz. 870 00:43:07,130 --> 00:43:10,030 SPEAKER 27: Tehát 0 és 0 lenne hamis. 871 00:43:10,030 --> 00:43:10,450 ALI: Igen. 872 00:43:10,450 --> 00:43:11,780 De ha van 1 | 873 00:43:11,780 --> 00:43:14,290 1, amely értékeli, hogy igaz. 874 00:43:14,290 --> 00:43:18,210 De ha van 1 ^ 1, mint mi, hogy eredménye hamis. 875 00:43:18,210 --> 00:43:21,220 Mert ez nem kizárólag egy igaz. 876 00:43:21,220 --> 00:43:26,930 ROB: És ez lehet, hogy nem lehet, de vegyük észre, hogy a ^ a 877 00:43:26,930 --> 00:43:28,890 megegyezik, csak figyelembe a | 878 00:43:28,890 --> 00:43:30,290 mínusz a &. 879 00:43:30,290 --> 00:43:32,250 És akkor valóban gondolkodnak róla így. 880 00:43:32,250 --> 00:43:37,290 ^ Éppen fejekhez mindent együtt, de vesz ki bármelyik bit, ahol 881 00:43:37,290 --> 00:43:38,610 mindkettő igaz. 882 00:43:38,610 --> 00:43:41,620 Szóval és visszaadja minden hol mindkettő igaz. 883 00:43:41,620 --> 00:43:45,850 | Visszatér mindent, ha az egyik vagy mindkettő igaz. 884 00:43:45,850 --> 00:43:51,050 Tehát levonva, hogy ki a | megadja neked a ^. 885 00:43:51,050 --> 00:43:52,040 ALI: Van még kérdése? 886 00:43:52,040 --> 00:43:53,290 Ez rengeteg információ. 887 00:43:55,980 --> 00:43:57,510 Mindenkinek jó? 888 00:43:57,510 --> 00:44:00,360 >> ROB: Mi lehet menni a következő is a következő probléma, perjel 889 00:44:00,360 --> 00:44:01,680 mi az idő? 890 00:44:01,680 --> 00:44:04,010 Nem kell ezt, amíg a következő probléma. 891 00:44:04,010 --> 00:44:07,830 ALI: Azt hittem, ez egy. 892 00:44:07,830 --> 00:44:08,830 ROB: Ez nem az. 893 00:44:08,830 --> 00:44:10,085 ALI: Biztos vagy benne? 894 00:44:10,085 --> 00:44:11,300 ROB: Igen, én vagyok pozitív. 895 00:44:11,300 --> 00:44:12,970 ALI: Miért nem kezdjük csinál a következő probléma? 896 00:44:15,710 --> 00:44:19,790 A probléma az, ismét megváltoztatni azt kisbetű a nagybetűs, és ez 897 00:44:19,790 --> 00:44:21,720 alkalommal használja bitenkénti operátorok. 898 00:44:21,720 --> 00:44:22,970 ROB: Akkor mi lesz - 899 00:44:25,290 --> 00:44:29,670 kezdjük a bináris "A", a tőke "A", 900 00:44:29,670 --> 00:44:31,750 ami 65. 901 00:44:31,750 --> 00:44:36,150 Tehát bináris - 902 00:44:39,960 --> 00:44:47,900 így az "A" = 65, ami =, bináris - 903 00:44:47,900 --> 00:44:51,380 Fogom elrontani számát 0s -, hogy. 904 00:44:51,380 --> 00:44:53,670 ALI: Tehát ez azt értelme mindenkinek? 905 00:44:53,670 --> 00:44:57,620 Szóval, 1, nem 2s, nem 4s, nincs 8s, no - 906 00:45:00,238 --> 00:45:07,075 nincs 16S, nincs 32s, és aztán egy 64. 907 00:45:07,075 --> 00:45:08,685 ROB: Igen, úgy gondolom, hogy az egyik túl sok 0s. 908 00:45:08,685 --> 00:45:09,600 ALI: Elnézést. 909 00:45:09,600 --> 00:45:13,410 >> ROB: Oké, így már a 64 meg, és mi van az 1 set, és összekapcsolja az 910 00:45:13,410 --> 00:45:16,030 együtt kapunk 65. 911 00:45:16,030 --> 00:45:17,470 ALI: Cool bab? 912 00:45:17,470 --> 00:45:19,640 ROB: Tehát most, kisbetűs 'a'- 913 00:45:22,220 --> 00:45:24,260 észre 97 - 914 00:45:24,260 --> 00:45:26,370 mi a különbség a 97 és 65? 915 00:45:26,370 --> 00:45:27,530 SPEAKER 28: 32. 916 00:45:27,530 --> 00:45:28,130 ROB: Igen. 917 00:45:28,130 --> 00:45:35,920 Szóval ez 32, amely a saját bit, így lesz 110.001. 918 00:45:35,920 --> 00:45:41,200 És ez lesz igaz az összes lehetséges karakter. 919 00:45:41,200 --> 00:45:49,800 Tehát, ha úgy gondolja, a "D", ami lesz 68, ez lesz 1000011. 920 00:45:49,800 --> 00:45:56,310 És akkor kis 'd' lesz a 68 plusz 32, ami 100, ami 921 00:45:56,310 --> 00:46:00,010 lesz ugyanaz a dolog, hogy ez volt, csak essek a 922 00:46:00,010 --> 00:46:04,300 32 újra, így 1.100.011. 923 00:46:04,300 --> 00:46:08,610 Így a különbség a nagybetűs és kisbetűs éppen essek 924 00:46:08,610 --> 00:46:10,170 , hogy a 32-bites pozíció. 925 00:46:10,170 --> 00:46:17,670 SPEAKER 29: Hát nem 1000100? 926 00:46:17,670 --> 00:46:19,670 ROB: Várj, ez 100 - 927 00:46:19,670 --> 00:46:20,480 amit én csináltam rosszul. 928 00:46:20,480 --> 00:46:21,730 Ez nem volt igaz. 929 00:46:28,710 --> 00:46:31,150 Arra gondoltam, hogy ez a különbség 3, így aztán csak megragadt 930 00:46:31,150 --> 00:46:33,970 A bináris 3 a végén. 931 00:46:33,970 --> 00:46:36,710 Ez helyes. 932 00:46:36,710 --> 00:46:37,150 ALI: Köszönöm. 933 00:46:37,150 --> 00:46:38,080 Jó rámutatva, hogy ki. 934 00:46:38,080 --> 00:46:40,320 Ez volt éles. 935 00:46:40,320 --> 00:46:43,450 Rendben, hogy egyértelmű, hogy az emberek? 936 00:46:43,450 --> 00:46:45,700 >> ROB: A különbség a nagy-és kisbetűk változat 937 00:46:45,700 --> 00:46:49,250 mindig csak lesz 32, és így mindig lesz egy kicsit 938 00:46:49,250 --> 00:46:51,840 hogy meg kell változtatni tükrözött a kettő között. 939 00:46:51,840 --> 00:46:54,330 ALI: Tehát ebben az esetben, ismerve a különbség a főváros A és 940 00:46:54,330 --> 00:46:57,130 A kisbetűs egy jó dolog. 941 00:46:57,130 --> 00:47:01,950 Nem a kódot, de fogalmilag legalábbis, ez jó. 942 00:47:01,950 --> 00:47:05,880 Szóval srácok, lehet menni előre, és a kód, hogy a Spaces most. 943 00:47:05,880 --> 00:47:08,580 Vagy mi csak megbeszéljük? 944 00:47:08,580 --> 00:47:09,760 ROB: Mi is csak megbeszélni. 945 00:47:09,760 --> 00:47:10,680 Nem tudom. 946 00:47:10,680 --> 00:47:11,680 Srácok lehet próbálni. 947 00:47:11,680 --> 00:47:13,560 Beszélj között magad egy kicsit. 948 00:47:13,560 --> 00:47:16,390 Adunk egy esélyt, hogy Kódex. 949 00:47:16,390 --> 00:47:17,640 [Közbeiktatásával VOICES] 950 00:47:19,785 --> 00:47:22,695 ALI: - hűvös 951 00:47:22,695 --> 00:47:26,590 SPEAKER 30: Ez olyan, mint hacker komédia. 952 00:47:26,590 --> 00:47:31,060 ALI: Igen, mi csak mondja a híreket, megy keresztül. 953 00:47:31,060 --> 00:47:32,310 >> Rob: És újra itt vagyunk. 954 00:47:34,950 --> 00:47:35,405 ALI: Ez furcsa. 955 00:47:35,405 --> 00:47:38,720 Úgy érzem, meg kell egy CS50 hír állomás és tudtuk 956 00:47:38,720 --> 00:47:41,500 ténylegesen ülni, mint ez. 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: Nyugodtan kérdezz bármilyen kérdése ha zavarodva. 960 00:47:52,280 --> 00:47:53,980 ROB: Van valaki beragadt? 961 00:47:53,980 --> 00:47:57,160 ALI: Igen, ez egy jó dolog. 962 00:47:57,160 --> 00:47:58,590 ALI: Várj, Ön megragadt a székben? 963 00:47:58,590 --> 00:48:01,010 Oh. 964 00:48:01,010 --> 00:48:02,260 Én egy kicsit érintett. 965 00:48:06,670 --> 00:48:12,150 ROB: Mert én csak rájöttem, hogy fogunk akar 966 00:48:12,150 --> 00:48:13,300 másik bitenkénti operátor. 967 00:48:13,300 --> 00:48:16,985 Most, nézzük csak átalakítani nagybetű kisbetűre. 968 00:48:23,280 --> 00:48:25,220 ALI: Sajnálom, nem mindenki kap, hogy a hirdetést? 969 00:48:25,220 --> 00:48:27,755 Fogunk menni nagybetű kisbetűre. 970 00:48:27,755 --> 00:48:30,990 ROB: Akkor megbeszéljük kisbetűvel nagybetűs lesz jobb után. 971 00:48:33,820 --> 00:48:36,650 Ó, nem. 972 00:48:36,650 --> 00:48:39,560 Van egy bug e, amit, azt hiszem, soha nem próbált futni. 973 00:48:39,560 --> 00:48:44,140 Ami csak az, hogy char c kell nyilvánítani kívül a hurok, mert a 974 00:48:44,140 --> 00:48:45,805 hatálya korlátozott a hurok. 975 00:48:49,200 --> 00:48:53,060 SPEAKER 32: Ebben az esetben, ez helytelen, hogy egy szám? 976 00:48:53,060 --> 00:48:56,930 ROB: Eh, nem kell. 977 00:48:56,930 --> 00:49:02,040 Ha azt garantálni, hogy a tőke 'A'- vagy kisbetűs "a" mínusz tőke "A" 978 00:49:02,040 --> 00:49:09,340 éppen egy kicsit, de nem tudod, hogy a 32 - 979 00:49:09,340 --> 00:49:13,160 dolgok működnek ugyanúgy, mintha a 16 bit, amit tükrözött - vagy 980 00:49:13,160 --> 00:49:14,610 Nem, azt hiszem, wouldn't - 981 00:49:14,610 --> 00:49:18,270 vagy a 64 bites is tükrözött, esetleg. 982 00:49:18,270 --> 00:49:23,230 De nem kell használni 32. 983 00:49:23,230 --> 00:49:26,141 Lehet helyette használni kisbetűs "a" mínusz tőke "A". 984 00:49:26,141 --> 00:49:29,340 >> SPEAKER 32: Rendben. 985 00:49:29,340 --> 00:49:32,996 Mit lehet tenni, ha úgy érzed, hogy írsz túl sok megadhatjuk, hogy 986 00:49:32,996 --> 00:49:33,435 a tetején. 987 00:49:33,435 --> 00:49:41,830 Szóval lehet, mint, int különbség = kisbetűs 'a' mínusz tőke "A". És 988 00:49:41,830 --> 00:49:43,980 akkor írja különbség helyett. 989 00:49:43,980 --> 00:49:45,110 Ez érvényes. 990 00:49:45,110 --> 00:49:48,002 De csak a 32-es a fajta - 991 00:49:48,002 --> 00:49:51,104 SPEAKER 33: Annak ellenére, hogy azért, mert az a tény, hogy ez a 32 bit? 992 00:49:51,104 --> 00:49:52,570 ALI: Igen. 993 00:49:52,570 --> 00:49:54,960 ROB: Lehetne - 994 00:49:54,960 --> 00:49:57,780 az egyetlen garanciát kell, hogy Ön, hogy a különbség az 995 00:49:57,780 --> 00:49:59,480 kisbetűs és nagybetűs egy bit. 996 00:49:59,480 --> 00:50:04,670 Az nem számít, hogy ez történik, hogy a 32 bites, ami tükrözött. 997 00:50:04,670 --> 00:50:06,610 Az idő megfontolások kezdünk megy át ezt. 998 00:50:09,170 --> 00:50:10,370 Nem baj, ha még nem fejezte be. 999 00:50:10,370 --> 00:50:13,090 Ne aggódj miatta. 1000 00:50:13,090 --> 00:50:16,260 ROB: Feltételezve c nagybetűvel - 1001 00:50:16,260 --> 00:50:18,030 nem kell feltételezni, c nagybetűvel. 1002 00:50:18,030 --> 00:50:20,750 Tudjuk, hogy c egy nagybetű, ezt követően pedig loop - 1003 00:50:20,750 --> 00:50:22,160 do-while hurok. 1004 00:50:22,160 --> 00:50:28,590 Tehát ez azt jelenti, hogy valahogy így néz ki az "A". Tehát, ha azt akarjuk, hogy ezt 1005 00:50:28,590 --> 00:50:32,895 'A' e 'a', mit kell tennünk? 1006 00:50:36,890 --> 00:50:41,920 Szóval hogyan lehet átalakítani, és fordítsa meg a kicsit? 1007 00:50:48,040 --> 00:50:49,450 ALI: Hogyan flip azt? 1008 00:50:49,450 --> 00:50:53,010 >> ROB: Tehát tudjuk, hogy azt akarjuk, hogy fordítsa meg a 32 bit. 1009 00:50:53,010 --> 00:50:59,722 Annak érdekében, hogy meg fog tenni "a" mínusz "A", vagy mi lehetett írni 32, de - 1010 00:50:59,722 --> 00:51:03,090 rohadt, ez a másik fordítva. 1011 00:51:03,090 --> 00:51:07,250 ALI: Oké, így Rob itt van számának kiszámításához, bűvös szám 32. 1012 00:51:07,250 --> 00:51:12,000 Szóval ő kideríteni ha ez bit flip-terület lenne. 1013 00:51:12,000 --> 00:51:14,810 És akkor mit tesz, ha a szóban forgó védjegyek? 1014 00:51:14,810 --> 00:51:16,740 ROB: Hogyan flip, hogy a kicsit? 1015 00:51:16,740 --> 00:51:22,784 Ami a nagybetűs, ez egy 0 és szeretnénk válni a 1. 1016 00:51:22,784 --> 00:51:23,660 SPEAKER 34: |. 1017 00:51:23,660 --> 00:51:24,910 ROB: Igen. 1018 00:51:28,780 --> 00:51:38,190 Szóval ez nekünk mondja veszünk 'A'. Mi fejekhez azt 0 - 1019 00:51:38,190 --> 00:51:40,750 1000 - 1020 00:51:40,750 --> 00:51:44,720 és ez = ezt. 1021 00:51:44,720 --> 00:51:45,930 ALI: Van ennek értelme mindenkinek? 1022 00:51:45,930 --> 00:51:48,812 Mi megy át rajta apránként, ha akarod. 1023 00:51:52,030 --> 00:51:56,300 SPEAKER 35: Te [hallható]? 1024 00:51:56,300 --> 00:51:57,590 ALI: Hol van a mínusz jel? 1025 00:51:57,590 --> 00:51:58,500 ROB: Oh, érted itt? 1026 00:51:58,500 --> 00:51:59,070 ALI: Ó, igen. 1027 00:51:59,070 --> 00:52:00,140 ROB: Szóval azt hiszem, ez nekünk. 1028 00:52:00,140 --> 00:52:05,670 Mondhatnánk, 32, és most mi csak a bitenkénti operátorok. 1029 00:52:05,670 --> 00:52:07,010 ALI: Mi nem tetszik mágikus számok. 1030 00:52:07,010 --> 00:52:10,460 Nem fogunk csinálni. 1031 00:52:10,460 --> 00:52:13,592 Is kéne csak használni bitenkénti operátor - 1032 00:52:13,592 --> 00:52:19,042 SPEAKER 36: Ha a ^ A, kapsz 32? 1033 00:52:19,042 --> 00:52:19,980 SPEAKER 37: Igen, azt hiszem - 1034 00:52:19,980 --> 00:52:21,090 ROB: Igen, így lesz. 1035 00:52:21,090 --> 00:52:23,320 ALI: Ez hogyan megtette volna alkalmas arra, hogy 1036 00:52:23,320 --> 00:52:25,370 tőkéből kisbetűssé. 1037 00:52:25,370 --> 00:52:31,130 >> Most már tud valaki mondja meg, miért Rob és én megváltoztatta a prompt és hogyan ment 1038 00:52:31,130 --> 00:52:34,040 származó nagybetűs kisbetűs, ahelyett, hogy kisbetűs 1039 00:52:34,040 --> 00:52:37,810 nagybetűs mint mi korábban? 1040 00:52:37,810 --> 00:52:44,520 Van valakinek bármilyen ötlete, hogy miért lehet nehezebb? 1041 00:52:44,520 --> 00:52:44,880 ROB: Szóval megtenném - 1042 00:52:44,880 --> 00:52:46,178 ALI: Igen, folytasd. 1043 00:52:46,178 --> 00:52:49,640 SPEAKER 38: A | operátor csak igazán jó hozzá. 1044 00:52:49,640 --> 00:52:51,200 ALI: Igen, pontosan. 1045 00:52:51,200 --> 00:52:58,320 ROB: Tehát mit akarunk csinálni a kisbetűs a nagybetűs ügyben, 1046 00:52:58,320 --> 00:53:00,175 alakítják át ezt az 'a'- 1047 00:53:08,540 --> 00:53:14,820 így szeretnénk tenni néhány számot itt és használni néhány üzemben, így jön 1048 00:53:14,820 --> 00:53:21,910 ki, hogy a tőke A. Mi még talán a 32 valahogy, de most hogyan 1049 00:53:21,910 --> 00:53:25,280 kap ez, hogy jöjjön ki ez? 1050 00:53:40,910 --> 00:53:42,750 Tehát c - 1051 00:53:42,750 --> 00:53:44,000 oh, én még mindig szeretné, hogy túl - 1052 00:53:46,940 --> 00:53:51,055 ALI: Tehát most, ha mi konvertálás kisbetűvel nagybetűs lesz újra, akkor 1053 00:53:51,055 --> 00:53:55,170 nem a ^ művelet, mint ti mondta. 1054 00:53:55,170 --> 00:53:57,650 ROB: Vannak más módok is meg tudod csinálni a dolgokat. 1055 00:53:57,650 --> 00:54:01,680 Sok a bitenkénti operátorok a végén, hogy nagyon könnyen definiálható szempontjából 1056 00:54:01,680 --> 00:54:03,460 más bitenkénti operátorok. 1057 00:54:03,460 --> 00:54:11,150 Így akartam, hogy nem használja ^ vagy egyáltalán, de a ^ működött tökéletesen. 1058 00:54:11,150 --> 00:54:17,910 >> ALI: Oké, akkor megyünk tovább az utolsó probléma, amely az alap - 1059 00:54:17,910 --> 00:54:22,390 Az utolsó probléma átalakítani valamit bináris. 1060 00:54:22,390 --> 00:54:26,350 Így például, van 50, és aztán átalakítani, hogy 1061 00:54:26,350 --> 00:54:31,400 bináris, ami a 110.010. 1062 00:54:31,400 --> 00:54:36,010 És azt hiszem, ti mind tudni bináris előadás. 1063 00:54:36,010 --> 00:54:39,270 És azt is, hogy nem kellene tegyen vezető 0s bele. 1064 00:54:39,270 --> 00:54:41,460 ROB: lehet figyelmen kívül hagyni azt a részét most. 1065 00:54:41,460 --> 00:54:45,250 Az első lépés, meg tudod csinálni úgy, hogy vannak olyan vezető 0s. 1066 00:54:45,250 --> 00:54:49,200 És akkor lehet módosítani, hogy az, hogy nincs vezető 0s, ha van ideje. 1067 00:54:49,200 --> 00:54:50,630 ALI: Ne aggódj. 1068 00:54:50,630 --> 00:54:52,620 Csak próbálj bináris. 1069 00:54:55,880 --> 00:54:59,855 Egy jó kiindulópont lenne - 1070 00:54:59,855 --> 00:55:02,010 ROB: Meg kell kérni az egész. 1071 00:55:02,010 --> 00:55:03,150 ALI: Ó, igen, ez egy jó. 1072 00:55:03,150 --> 00:55:04,170 Mi lehet kezdeni vele. 1073 00:55:04,170 --> 00:55:06,870 Így meg lehet változtatni a prompt. 1074 00:55:06,870 --> 00:55:08,840 Tehát ahelyett, hogy egy karakter, most van dolgunk egészek. 1075 00:55:13,670 --> 00:55:14,920 Cool? 1076 00:55:20,630 --> 00:55:25,300 >> ROB: És most mi a do-while feltétel lesz? 1077 00:55:25,300 --> 00:55:27,750 Ez kér egy nem-negatív egész szám. 1078 00:55:31,080 --> 00:55:34,280 ALI: Ha nem akarjuk megtartani a felhasználó megkérdezése valami mást? 1079 00:55:34,280 --> 00:55:35,950 Ha ez kisebb, mint 0-ra. 1080 00:55:35,950 --> 00:55:36,760 ALI: Így van. 1081 00:55:36,760 --> 00:55:38,010 ROB: Bár i kevesebb, mint 0-ra. 1082 00:55:41,090 --> 00:55:45,120 ALI: Most szeretnénk átalakítani. 1083 00:55:45,120 --> 00:55:48,150 Srácok van valami ötleted, hogy mit kell csinálni? 1084 00:55:48,150 --> 00:55:49,400 Bármely inklings? 1085 00:55:53,610 --> 00:55:54,984 Igen. 1086 00:55:54,984 --> 00:55:57,344 SPEAKER 39: Muszáj konvertálni, vagy mi csak nyomtatni néhány 0s és 1s 1087 00:55:57,344 --> 00:55:58,760 ez lenne a helyes számot? 1088 00:55:58,760 --> 00:56:02,070 Tudnál csinálni egy for ciklus és számolj ki hatásköre 2? 1089 00:56:02,070 --> 00:56:03,320 ROB: Igen. 1090 00:56:05,750 --> 00:56:08,425 Önnek nem kell konvertálni i annak bináris - 1091 00:56:08,425 --> 00:56:13,720 A bináris i nem fog elférjen i. 1092 00:56:13,720 --> 00:56:19,090 Csak azt kell kinyomtatni a bináris i. 1093 00:56:19,090 --> 00:56:21,010 ALI: Más szóval, akkor nem kell menni hatásköre kettő. 1094 00:56:21,010 --> 00:56:23,710 ROB: Mivel én már most is tárolni bináris, így nem kell 1095 00:56:23,710 --> 00:56:25,110 átalakítani, hogy bináris. 1096 00:56:25,110 --> 00:56:27,260 Menj át a bináris, és nyomtassa ki. 1097 00:56:30,080 --> 00:56:32,140 És fogsz kell használni bitenkénti, mert szeretné, hogy nézd meg 1098 00:56:32,140 --> 00:56:33,390 a tényleges biteket. 1099 00:56:37,060 --> 00:56:38,600 Önnek nem kell használni bitenkénti, hanem tegye. 1100 00:56:44,130 --> 00:56:47,160 És ez valóban - 1101 00:56:47,160 --> 00:56:50,200 tudod csak csinálni hatáskörét két megszorozzuk 2-vel. 1102 00:56:50,200 --> 00:56:55,120 Elmegyünk több mint az elmúlt két bináris bitenkénti operátorok, 1103 00:56:55,120 --> 00:56:56,410 ami ezt. 1104 00:56:56,410 --> 00:56:58,730 Tehát, ha veszel - 1105 00:56:58,730 --> 00:57:00,083 >> ALI: Lehet, hogy menjen végig mind a ketten? 1106 00:57:00,083 --> 00:57:01,440 ROB: Igen. 1107 00:57:01,440 --> 00:57:03,050 Akkor menjünk, 9. 1108 00:57:03,050 --> 00:57:05,210 Tehát 9 BAL SHIFT 1 - 1109 00:57:05,210 --> 00:57:12,220 mi maradt eltolás révén éppen mozog a bitek balra és helyezzen be egy 0. 1110 00:57:12,220 --> 00:57:15,530 Szóval haladunk minden bit 9 és a bal 1111 00:57:15,530 --> 00:57:20,240 álláspontot, amely számunkra - 1112 00:57:26,530 --> 00:57:31,570 Így észre, mi mindent eltolódott balra egy, és ki a 0 a 1113 00:57:31,570 --> 00:57:32,730 jobb oldalon. 1114 00:57:32,730 --> 00:57:36,755 Ha volna tolódott maradt kettő, mi lenne váltani mindent hagyott két, 1115 00:57:36,755 --> 00:57:41,950 és helyezzen be két 0-ák, hogy töltse ki a hézagokat. 1116 00:57:41,950 --> 00:57:43,200 Kérdés? 1117 00:57:44,890 --> 00:57:47,510 ALI: Tehát jobbra léptetés nem egy hasonló dolog. 1118 00:57:47,510 --> 00:57:53,190 Ha 9 jobbra léptetés 1, akkor te csak mozog mindent át 1119 00:57:53,190 --> 00:57:57,890 a jobb, akkor veszít egy számjegyet, így 100 helyett. 1120 00:57:57,890 --> 00:58:04,142 ROB: Szóval ez rendben van, hogy veszít a bit, ami történt, hogy az összes 1121 00:58:04,142 --> 00:58:05,200 az utat a jobb oldalon. 1122 00:58:05,200 --> 00:58:08,850 Vannak különböző típusú jog műszakok, de alapvetően lehet gondolni 1123 00:58:08,850 --> 00:58:11,410 JOBB SHIFT mint csak elosztjuk 2-vel. 1124 00:58:11,410 --> 00:58:14,430 És akkor úgy gondolja, hogy a bal Shift mint megszorozzuk 2-vel. 1125 00:58:14,430 --> 00:58:16,490 Tehát, ha át ezt - 1126 00:58:16,490 --> 00:58:22,350 ha a konvertált 9 műszakban 1, ami egyenlő 10010, ha tényleg elment 1127 00:58:22,350 --> 00:58:25,100 a bináris és rájött, hogy mi volt, ez csak 18. 1128 00:58:25,100 --> 00:58:26,880 Most szorozzuk 2-vel. 1129 00:58:26,880 --> 00:58:30,982 1001 bal Shift 2 lesz 36. 1130 00:58:30,982 --> 00:58:32,400 Mi szorozni 4-gyel. 1131 00:58:41,740 --> 00:58:45,360 Oké, hűvös, tehát ez egy praktikus bitenkénti üzemeltető ezt. 1132 00:58:52,570 --> 00:58:53,330 További zavart? 1133 00:58:53,330 --> 00:58:54,870 Akartok, hogy próbálja ki! 1134 00:58:54,870 --> 00:58:58,970 Vagy egyszerűen csak ugrani, és indítsa el? 1135 00:58:58,970 --> 00:59:01,140 ROB: Mi kéne ugrani be 1136 00:59:01,140 --> 00:59:01,880 ALI: Igen, Oké. 1137 00:59:01,880 --> 00:59:03,370 Rob: És séta együtt. 1138 00:59:03,370 --> 00:59:04,440 >> ALI: Hát akkor csak menj bele. 1139 00:59:04,440 --> 00:59:09,700 Szóval, azt mondta az elején, megyünk, hogy csak menjen át apránként. 1140 00:59:09,700 --> 00:59:11,890 Szóval szükségünk lesz egy hurok. 1141 00:59:11,890 --> 00:59:16,730 Van valakinek egy ötlet a legjobb fajta hurok, hogy menjen át ezt? 1142 00:59:16,730 --> 00:59:20,544 Van while ciklusok, do-while ciklusok, a hurkok. 1143 00:59:20,544 --> 00:59:22,400 SPEAKER 40: Do-while ciklus? 1144 00:59:22,400 --> 00:59:25,150 ROB: Úgy emlékszem, mit mondtam, mielőtt beszélsz, mi csak a do-while 1145 00:59:25,150 --> 00:59:27,390 hurkok kap felhasználói bevitel. 1146 00:59:27,390 --> 00:59:30,890 Te soha nem elég sok valaha is használni őket bármi másra. 1147 00:59:30,890 --> 00:59:33,660 ALI: Az a baj a do-while ciklushoz képest, hogy csinál valamit, mielőtt ellenőrzi a 1148 00:59:33,660 --> 00:59:34,470 a feltétel. 1149 00:59:34,470 --> 00:59:36,540 Szóval, lehet, hogy valami rosszat - 1150 00:59:36,540 --> 00:59:38,640 tetszik, fáj - 1151 00:59:38,640 --> 00:59:40,350 tenni valamit, hogy ez nem lehetséges. 1152 00:59:40,350 --> 00:59:42,290 Szóval azt akarod, hogy ellenőrizze először. 1153 00:59:42,290 --> 00:59:47,620 ROB: Van egy csomó esetben, ahol használhatja do-while ciklusok, de az emberek 1154 00:59:47,620 --> 00:59:52,120 Nem várom el, hogy használja őket, ha ez a felhasználói bevitelt. 1155 00:59:52,120 --> 00:59:54,215 Tehát már használta a do-while ciklus, hogy i. 1156 00:59:57,160 --> 01:00:01,260 Hányszor van a hurkot akarnak majd hurok? 1157 01:00:01,260 --> 01:00:04,060 Azt akarjuk, hogy az egyes hurok a bitek i. 1158 01:00:04,060 --> 01:00:06,302 Hány bit az i? 1159 01:00:06,302 --> 01:00:07,266 SPEAKER 41: 32. 1160 01:00:07,266 --> 01:00:07,750 ALI: Igen. 1161 01:00:07,750 --> 01:00:09,850 ROB: Szóval van 32 bit. 1162 01:00:09,850 --> 01:00:12,920 Nem azt akarom mondani 32. 1163 01:00:12,920 --> 01:00:16,230 Mi inkább azt akarom mondani sizeof - 1164 01:00:16,230 --> 01:00:18,226 amelyek, láttad, hogy az osztályban már? 1165 01:00:18,226 --> 01:00:19,100 ALI: Nem. 1166 01:00:19,100 --> 01:00:20,380 ROB: Miért mondják használni, hogy - 1167 01:00:20,380 --> 01:00:22,160 sizeof (int) alkalommal 8 - 1168 01:00:22,160 --> 01:00:23,530 ALI: Tehát, sizeof jelentése - 1169 01:00:23,530 --> 01:00:27,050 >> SPEAKER 42: [hangtalan] 1170 01:00:27,050 --> 01:00:27,440 ALI: Érdekes. 1171 01:00:27,440 --> 01:00:31,610 Szóval, sizeof egy beépített C függvény, ahol csak mondja a 1172 01:00:31,610 --> 01:00:32,500 bitek száma - 1173 01:00:32,500 --> 01:00:33,220 ROB: Bytes. 1174 01:00:33,220 --> 01:00:34,210 ALI: Bytes, sajnálom - 1175 01:00:34,210 --> 01:00:39,990 bájtok számát, hogy egy változó tárolja egy értéket. 1176 01:00:39,990 --> 01:00:46,205 Tehát úgy gondolom, hogy átmentem az osztályban, akkor egy int 4 bájt lehet. 1177 01:00:46,205 --> 01:00:46,610 Cool? 1178 01:00:46,610 --> 01:00:50,610 ROB: De nem kell tudni, hogy egy int 4 bájt. 1179 01:00:50,610 --> 01:00:52,670 Meg kell tudnia mondani - 1180 01:00:52,670 --> 01:00:55,870 akkor használja a sizeof (int), hogy 4 bájt. 1181 01:00:55,870 --> 01:00:59,170 És ez valóban fontos dolgokat. 1182 01:00:59,170 --> 01:01:01,650 Egy int lehet, hogy nem 4 byte. 1183 01:01:01,650 --> 01:01:04,050 Egy másik számítógépre, int lehet 8 bájt. 1184 01:01:04,050 --> 01:01:08,500 Tehát a program nem fog működni, hogy a számítógép, mert beégetett 32 1185 01:01:08,500 --> 01:01:12,230 bitek, amikor az adott számítógépen történetesen 64 bit. 1186 01:01:12,230 --> 01:01:15,260 ALI: Szóval az összes bitek akarod megfordítani. 1187 01:01:15,260 --> 01:01:17,480 Rob: És a különbség egy byte, és egy kicsit, hogy van 1188 01:01:17,480 --> 01:01:19,100 Jelenleg 8 bit egy byte. 1189 01:01:19,100 --> 01:01:22,110 Szóval sizeof (int) eredménye 4 byte, akkor meg kell szorozni, hogy az 1190 01:01:22,110 --> 01:01:24,420 8-hoz kap 32 bit. 1191 01:01:24,420 --> 01:01:27,680 >> ALI: Oké, tehát tudjuk, hogy a legnagyobb és tudjuk, hogy akarunk menni - 1192 01:01:27,680 --> 01:01:29,260 azt akarjuk, hogy menjen át mindet. 1193 01:01:29,260 --> 01:01:32,950 Így akarunk menni 0-tól numBits. 1194 01:01:32,950 --> 01:01:37,160 Szóval Tudja valaki, hogyan kell írni a hurok, hogy? 1195 01:01:37,160 --> 01:01:37,790 Valaki? 1196 01:01:37,790 --> 01:01:39,680 SPEAKER 43: [hangtalan] 1197 01:01:39,680 --> 01:01:44,130 ALI: Szóval azt akarod, hogy keresztezik a számot én a 0. bit a 1198 01:01:44,130 --> 01:01:47,840 első bitjét, a második bit, a harmadik bit, egészen numBits. 1199 01:01:47,840 --> 01:01:50,972 A maximális bitek száma, hogy lehet eljutni. 1200 01:01:54,420 --> 01:01:57,780 ROB: Mi a közös hurkot használunk, mit akarunk tenni valamit x alkalommal? 1201 01:01:57,780 --> 01:01:58,280 ALI: For. 1202 01:01:58,280 --> 01:01:59,280 Tökéletes. 1203 01:01:59,280 --> 01:02:00,440 Tehát a. 1204 01:02:00,440 --> 01:02:05,242 És aztán készítsen egy iterator, ami nem lesz i. 1205 01:02:05,242 --> 01:02:06,850 ROB: j. 1206 01:02:06,850 --> 01:02:08,080 Ali: J = 0. 1207 01:02:08,080 --> 01:02:09,740 Szóval akkor 0-val kezdődnek. 1208 01:02:09,740 --> 01:02:13,110 És akkor megyünk, hogy a feltétel, hogy megbizonyosodjon arról, miközben te 1209 01:02:13,110 --> 01:02:14,968 megy keresztül, hogy minden egyes alkalommal - 1210 01:02:14,968 --> 01:02:16,960 [Közbeiktatásával VOICES] 1211 01:02:16,960 --> 01:02:17,960 ROB: j. 1212 01:02:17,960 --> 01:02:19,970 Ali: j kevesebb, mint numBits. 1213 01:02:19,970 --> 01:02:23,680 Tehát nem akarok a tényleges értéke 1, mert ők numBits 1214 01:02:23,680 --> 01:02:25,365 teljes, és 0-val kezdődnek. 1215 01:02:25,365 --> 01:02:26,360 Szóval tényleg megy, hogy - 1216 01:02:26,360 --> 01:02:27,400 SPEAKER 44: Oh. 1217 01:02:27,400 --> 01:02:29,300 ALI: Az indexek nem ér véget numBits mínusz 1. 1218 01:02:29,300 --> 01:02:34,070 ROB: Mi címkézni a biteket 0-31, nem címkézik őket 1-32. 1219 01:02:34,070 --> 01:02:36,970 ALI: És akkor fogunk növekmény minden alkalommal egy, mert azt akarjuk, hogy 1220 01:02:36,970 --> 01:02:38,050 ellenőrizze, minden egyes ember. 1221 01:02:38,050 --> 01:02:39,851 Akkor megyünk j + +. 1222 01:02:39,851 --> 01:02:42,740 >> SPEAKER 45: Miért csinálod ezt? 1223 01:02:42,740 --> 01:02:46,100 SPEAKER 46: Miért megy keresztül minden egyes bit? 1224 01:02:46,100 --> 01:02:49,310 ROB: Tehát azt akarjuk, hogy menjen át minden kis és - 1225 01:02:52,780 --> 01:02:55,100 Tehát mondjuk van néhány szám. 1226 01:02:55,100 --> 01:02:56,195 ALI: 68. 1227 01:02:56,195 --> 01:02:57,470 ROB: Tudjuk használni 68. 1228 01:02:57,470 --> 01:03:00,450 Így a bináris lesz 100.100. 1229 01:03:00,450 --> 01:03:05,540 Szóval ez a belső én, és azt szeretnénk, hogy menjen át minden ezeket a biteket. 1230 01:03:05,540 --> 01:03:06,450 Ez egy 1? 1231 01:03:06,450 --> 01:03:07,320 Nyomtatás 1. 1232 01:03:07,320 --> 01:03:08,120 Ez egy 0? 1233 01:03:08,120 --> 01:03:09,100 Nyomtatás 0. 1234 01:03:09,100 --> 01:03:10,530 Aztán megyünk tovább a következő bit. 1235 01:03:10,530 --> 01:03:11,210 Ez egy 1? 1236 01:03:11,210 --> 01:03:11,610 Nyomtatás 1. 1237 01:03:11,610 --> 01:03:11,830 Van egy 0? 1238 01:03:11,830 --> 01:03:13,080 Nyomtatás 0. 1239 01:03:14,880 --> 01:03:16,710 ALI: Cool, oké. 1240 01:03:16,710 --> 01:03:22,880 Most mi vagyunk a megfelelő indexet, ahol ez bit. 1241 01:03:25,380 --> 01:03:28,080 Hogyan lehet ellenőrizni, hogy különös egy? 1242 01:03:28,080 --> 01:03:33,130 Tegyük fel, hogy itt vagyunk j = 0, ezért szeretné, hogy ellenőrizze a 0 index a bit. 1243 01:03:33,130 --> 01:03:37,980 Tehát ebben az esetben, ez. 1244 01:03:37,980 --> 01:03:41,930 >> Tehát most hogyan megy a check - oh, nem lenne ez. 1245 01:03:41,930 --> 01:03:42,810 ROB: Igen. 1246 01:03:42,810 --> 01:03:44,310 ALI: Elnézést. 1247 01:03:44,310 --> 01:03:47,930 Hogyan álljunk neki ellenőrzésére, hogy egy, bizonyos értelemben? 1248 01:03:47,930 --> 01:03:52,030 Hogyan tudjuk ellenőrizni, ha ez a 0 vagy a 1? 1249 01:03:52,030 --> 01:03:52,730 Well let's - 1250 01:03:52,730 --> 01:03:53,940 OSZTÁLY: És 1? 1251 01:03:53,940 --> 01:03:54,390 ALI: És? 1252 01:03:54,390 --> 01:03:55,010 Igen. 1253 01:03:55,010 --> 01:03:57,810 ROB: Tehát mondjuk már van 1. 1254 01:03:57,810 --> 01:04:02,470 Akkor ezt és ezzel a művelettel vajon ez egy 1 vagy egy 0-ra. 1255 01:04:05,580 --> 01:04:08,200 ALI: Akkor mehetünk le. 1256 01:04:08,200 --> 01:04:10,695 És meg tudjuk csinálni, mint ti mondta, csinál a & funkciót. 1257 01:04:13,810 --> 01:04:15,560 ROB: int - 1258 01:04:15,560 --> 01:04:18,290 hogyan akarom ezt mondani - 1259 01:04:18,290 --> 01:04:24,250 Isone = i. 1260 01:04:24,250 --> 01:04:29,770 És az első bit mi történik, hogy nézi, csinálunk i & 1. 1261 01:04:29,770 --> 01:04:33,302 Most mit fogunk szeretnénk & által a második kicsit? 1262 01:04:33,302 --> 01:04:34,294 SPEAKER 47: 2. 1263 01:04:34,294 --> 01:04:36,110 ROB: Igen, a második, hogy mi vagyunk a 2. 1264 01:04:36,110 --> 01:04:39,100 ALI: Észre fogod venni, hogy az 1 költözött át a bal. 1265 01:04:39,100 --> 01:04:44,320 Így tudtunk minden bitenkénti operátorok tenni ezt a funkciót? 1266 01:04:44,320 --> 01:04:45,160 ROB: A következő egy - 1267 01:04:45,160 --> 01:04:46,280 ALI: Igen, így van, pontosan. 1268 01:04:46,280 --> 01:04:48,670 Szóval ez a bal shift. 1269 01:04:48,670 --> 01:04:51,120 Ahelyett, hogy mindig ellenőrzése 1, fogjuk váltani azt. 1270 01:04:51,120 --> 01:04:53,470 És hányszor fogjuk váltani ez? 1271 01:04:53,470 --> 01:04:59,340 Ha most ellenőrzi a 0. 1, akkor fogjuk mozgatni rajta nulla. 1272 01:04:59,340 --> 01:04:59,975 Igen, pontosan. 1273 01:04:59,975 --> 01:05:02,090 Szóval BAL SHIFT azt j. 1274 01:05:02,090 --> 01:05:02,550 Tökéletes. 1275 01:05:02,550 --> 01:05:03,550 Tehát most már tudjuk - 1276 01:05:03,550 --> 01:05:06,450 itt van ez int az, ha ez 1, akkor - 1277 01:05:10,690 --> 01:05:14,670 így Rob fajta csalás itt - 1278 01:05:14,670 --> 01:05:18,090 és így most megy előre, és ő csak azt mondom, hogy ha ez valóban 1, 1279 01:05:18,090 --> 01:05:23,540 mert 1 kiértékelése igaz, így nem kell, hogy mondjam ISF Isone értéke 1 - 1280 01:05:23,540 --> 01:05:29,210 így ha Isone, akkor nyomtassa ki 1, és különben nyomtatása 0. 1281 01:05:29,210 --> 01:05:33,350 >> ROB: Így a program egy átfogó bug. 1282 01:05:33,350 --> 01:05:35,845 Nos, az első kérdésre. 1283 01:05:35,845 --> 01:05:41,692 SPEAKER 48: Tud már fel a Isone belül a négy művelet része és 1284 01:05:41,692 --> 01:05:47,804 akkor már azt váltani magát az utolsó részt? 1285 01:05:47,804 --> 01:05:50,050 Szóval Isone értéke 1, majd - 1286 01:05:50,050 --> 01:05:53,140 ROB: Igen, lehet. 1287 01:05:53,140 --> 01:05:57,200 Mi valóban azt mutatják, hogy ha egyszer rögzíti a hibát, hogy én vagyok arról, hogy 1288 01:05:57,200 --> 01:06:00,050 megbeszéli Önnel minden. 1289 01:06:00,050 --> 01:06:03,470 Figyeljük meg a megrendeléshez megyünk át a dolgokat. 1290 01:06:03,470 --> 01:06:10,570 Tekintettel erre a bináris, kezdjük a 0. bit. 1291 01:06:10,570 --> 01:06:13,010 Ha ez 0, akkor nyomtat - 1292 01:06:13,010 --> 01:06:15,620 Nos, ez egy 0, így nyomtat 0. 1293 01:06:15,620 --> 01:06:16,860 Aztán megyünk a második kicsit. 1294 01:06:16,860 --> 01:06:19,100 Ez egy 0, így nyomtatni 0. 1295 01:06:19,100 --> 01:06:20,290 Aztán megy a harmadik kicsit. 1296 01:06:20,290 --> 01:06:22,950 Ez egy 1, így nyomtatása 1. 1297 01:06:22,950 --> 01:06:24,580 ALI: Tehát ez lesz visszafelé. 1298 01:06:24,580 --> 01:06:27,906 Szóval hogyan srácok javaslom, hogy fix, hogy, és menj a másik irányba? 1299 01:06:27,906 --> 01:06:28,900 SPEAKER 49: [hangtalan] 1300 01:06:28,900 --> 01:06:29,490 ROB: Igen. 1301 01:06:29,490 --> 01:06:34,500 Tehát ahelyett, hogy 0-tól numBits, akkor megy numBits bitet 0-ra. 1302 01:06:34,500 --> 01:06:35,600 ALI: Szóval [hangtalan] 1303 01:06:35,600 --> 01:06:36,940 mindig megy a másik irányba. 1304 01:06:36,940 --> 01:06:38,970 ROB: NumBits mínusz 1, mert ez az utolsó nubmer - 1305 01:06:38,970 --> 01:06:41,160 ALI: Mert megy 0-31. 1306 01:06:41,160 --> 01:06:44,420 És aztán mindig győződjön meg arról, hogy ez nagyobb, mint 0, így nem megy 1307 01:06:44,420 --> 01:06:46,100 túlságosan jobbra. 1308 01:06:46,100 --> 01:06:48,800 És akkor majd mindig kivonni 1-menni jobbra. 1309 01:06:48,800 --> 01:06:52,240 >> ROB: Tehát most van egy fordított hurok, és ez a szám vissza nyomtatás 1310 01:06:52,240 --> 01:06:53,586 a helyes utat. 1311 01:06:53,586 --> 01:06:57,560 SPEAKER 50: Nem meg kell változtatni a sebességváltó dolog is? 1312 01:06:57,560 --> 01:06:58,810 ALI: Tehát nem. 1313 01:07:03,810 --> 01:07:06,470 ROB: Csinálunk pontosan ugyanolyan műveletek, kivéve most 1314 01:07:06,470 --> 01:07:07,470 fordított sorrendben. 1315 01:07:07,470 --> 01:07:14,170 Tehát ahelyett, hogy a változó által numBits mínusz 1, hogy akármi is ez 1316 01:07:14,170 --> 01:07:17,430 bit van, ahelyett, hogy az utolsó, akkor tedd meg először. 1317 01:07:19,970 --> 01:07:22,970 Azáltal, hátrameneti ez ide, mi fordított sorrendben minden 1318 01:07:22,970 --> 01:07:24,190 ez történik benne. 1319 01:07:24,190 --> 01:07:28,610 De nem akar változtatni, hogy mi történik benne egyáltalán. 1320 01:07:28,610 --> 01:07:29,860 ALI: Van ennek értelme? 1321 01:07:32,240 --> 01:07:33,660 Feldolgozása? 1322 01:07:33,660 --> 01:07:41,200 Oké, nem másnak bármilyen más koncepcionális kérdés? 1323 01:07:41,200 --> 01:07:45,030 ALI: Mielőtt bemegyünk a pont, amely - 1324 01:07:45,030 --> 01:07:46,280 ALI: Rendben, menj. 1325 01:07:48,350 --> 01:07:53,160 Rob: Ahelyett, j, hogy a mi - 1326 01:07:55,780 --> 01:08:00,550 ahelyett, hogy a j mindig elmozdulás által, mint egy balra léptetés j, azt hiszem, mi 1327 01:08:00,550 --> 01:08:04,120 azt mondod nem tetszik, hogy j használja magát. 1328 01:08:04,120 --> 01:08:09,560 Tehát j - 1329 01:08:09,560 --> 01:08:14,656 Azt hiszem, ez a kemény - j = 1 << 31. 1330 01:08:14,656 --> 01:08:16,200 Ez az, amit akarok? 1331 01:08:16,200 --> 01:08:18,470 Azt hiszem << 31. 1332 01:08:18,470 --> 01:08:22,840 j> = 1. 1333 01:08:22,840 --> 01:08:32,319 j >>, >> Isone, i és j - 1334 01:08:32,319 --> 01:08:35,620 így most ahelyett, hogy a - 1335 01:08:35,620 --> 01:08:38,370 ALI: Te folyamatosan mozog j helyett, amelyek 1336 01:08:38,370 --> 01:08:40,520 index, hogy ellenőrizze azt. 1337 01:08:40,520 --> 01:08:42,130 Ez nem olyan rossz. 1338 01:08:42,130 --> 01:08:43,960 Mi egy hasonló jellegű logika. 1339 01:08:43,960 --> 01:08:46,202 Tehát, ha visszamegy - 1340 01:08:46,202 --> 01:08:50,020 oh, de ez fog elveszíteni. 1341 01:08:50,020 --> 01:08:51,380 Oké, te csak megy, hogy írja újra. 1342 01:08:51,380 --> 01:08:56,880 Ha azt veszi észre, hogy van 1 << j mennyiségű idő, és mi volt 1343 01:08:56,880 --> 01:09:02,279 növelésének j minden egyes alkalommal egy növedék, de ezúttal inkább 1344 01:09:02,279 --> 01:09:06,010 csinálnak a növekmény j a csúcson belül a hurok. 1345 01:09:06,010 --> 01:09:10,890 Tehát ahelyett, hogy állandóan mozgásban le - 1346 01:09:10,890 --> 01:09:15,220 ROB: Az első iteráció a for ciklus, már j 10000. 1347 01:09:15,220 --> 01:09:20,000 A következő iteráció a for ciklus 01000. 1348 01:09:20,000 --> 01:09:22,380 A következő iteráció hogy. 1349 01:09:22,380 --> 01:09:26,800 És az 1 csak megy, hogy szaporító, amíg elérjük a nagyon 1350 01:09:26,800 --> 01:09:29,729 end, ahol most ez. 1351 01:09:29,729 --> 01:09:33,990 A következő egy, az 1 fog tolni le, és j már nem nagyobb, 1352 01:09:33,990 --> 01:09:35,090 kisebb vagy egyenlő 1-re. 1353 01:09:35,090 --> 01:09:38,380 Azt is fel 0-nál nagyobb, ugyanaz a különbség. 1354 01:09:38,380 --> 01:09:41,580 És akkor ez az. 1355 01:09:41,580 --> 01:09:43,720 Kérdései vannak? 1356 01:09:43,720 --> 01:09:44,760 Igen. 1357 01:09:44,760 --> 01:09:49,740 >> SPEAKER 51: [hangtalan] 1358 01:09:49,740 --> 01:09:51,729 ROB: Szóval ez ugyanaz, mint a - 1359 01:09:51,729 --> 01:09:57,270 láttad j + = 3? 1360 01:09:57,270 --> 01:10:00,960 Tehát ez ugyanaz, mint a J = j + 3? 1361 01:10:00,960 --> 01:10:05,560 Meg tudod csinálni, hogy gyakorlatilag bármilyen üzemeltető C. Szóval j >> = 3 1362 01:10:05,560 --> 01:10:10,490 egyenlő j = j >> 3. 1363 01:10:13,980 --> 01:10:16,760 Szóval, hogy működik is bitenkénti operátorok. 1364 01:10:16,760 --> 01:10:19,630 És nem kellett volna tenni 31 itt. 1365 01:10:19,630 --> 01:10:23,790 Meg kellett volna tenni numBits - 1. 1366 01:10:23,790 --> 01:10:25,380 ALI: Yay, nincs mágikus számok. 1367 01:10:25,380 --> 01:10:29,070 Oké, ez 4:00 bár, így ha a srácok menni - de ez van értelme? 1368 01:10:29,070 --> 01:10:30,320 Srácok bármilyen egyéb kérdése? 1369 01:10:33,920 --> 01:10:38,470 ROB: Én is fogja dobni, hogy ha akarnánk - 1370 01:10:38,470 --> 01:10:41,326 már kifejtette háromkomponensű üzemeltető egyáltalán? 1371 01:10:41,326 --> 01:10:42,730 ALI: Nem 1372 01:10:42,730 --> 01:10:45,090 Semmi baj. 1373 01:10:45,090 --> 01:10:46,970 ROB: Szóval meg tudná nézni, hogy a következő alkalommal. 1374 01:10:51,030 --> 01:10:52,080 ALI: Oké, tényleg? 1375 01:10:52,080 --> 01:10:53,150 Most csak mutatja ki. 1376 01:10:53,150 --> 01:10:54,210 ROB: No, most ez - 1377 01:10:54,210 --> 01:11:00,490 ez az, amit kap az emberek érdeklődését, és most megyek nézzen rá. 1378 01:11:00,490 --> 01:11:02,640 Tehát most, hogy nem ugyanaz a dolog, egy lépésben. 1379 01:11:05,150 --> 01:11:10,950 Szóval először ellenőrzi, az i és j 1? 1380 01:11:10,950 --> 01:11:12,530 Igaz ez? 1381 01:11:12,530 --> 01:11:17,000 Ha igen, nyomtat 1, más, nyomtassa ki a 0-ra. 1382 01:11:17,000 --> 01:11:19,190 ALI: De csinálja a másik út tökéletesen is. 1383 01:11:19,190 --> 01:11:20,920 Ez ugyanaz a logika. 1384 01:11:20,920 --> 01:11:22,730 Szóval ez nem olyan, mint az egyik - 1385 01:11:22,730 --> 01:11:24,620 ROB: Ezen a ponton tudunk megszabadulni a kapcsos zárójelek, mert ez csak 1386 01:11:24,620 --> 01:11:27,190 egy sor hurok. 1387 01:11:27,190 --> 01:11:29,370 ALI: Oké, szóval nincs ennek értelme? 1388 01:11:29,370 --> 01:11:30,370 Ez a fajta a folytatásban. 1389 01:11:30,370 --> 01:11:34,870 De ez csak a szintaxist, még inkább. 1390 01:11:34,870 --> 01:11:36,250 >> Cool? 1391 01:11:36,250 --> 01:11:37,500 Egyéb kérdés? 1392 01:11:40,880 --> 01:11:41,570 ROB: Rendben. 1393 01:11:41,570 --> 01:11:42,310 ALI: Rendben, király. 1394 01:11:42,310 --> 01:11:43,560 Kösz, hogy eljöttél szakasz.