1 00:00:01,984 --> 00:00:07,450 [Powered by Google Translate] [Bunyi STATIK ELEKTRONIK] 2 00:00:07,450 --> 00:00:11,320 ROB: Okay, jadi apa yang kita hanya membawa anda ke CS50 kawasan. 3 00:00:11,320 --> 00:00:12,325 ALI: Tunggu, tunggu kembali. 4 00:00:12,325 --> 00:00:13,175 Selamat datang ke bahagian! 5 00:00:13,175 --> 00:00:13,860 ROB: Selamat datang ke bahagian! 6 00:00:13,860 --> 00:00:14,742 ALI: Yay! 7 00:00:14,742 --> 00:00:16,840 ROB: Supersection! 8 00:00:16,840 --> 00:00:18,610 ALI: Saya Ali dan ini adalah Rob. 9 00:00:18,610 --> 00:00:20,680 Okay, sekarang kita akan menjelaskan kawasan. 10 00:00:20,680 --> 00:00:23,650 ROB: Jadi apa yang kita hanya membawa anda ke CS50 kawasan. 11 00:00:23,650 --> 00:00:29,260 Anda akan menggunakan ini banyak dalam seksyen anda semester ini. 12 00:00:29,260 --> 00:00:32,110 Pada asasnya, kita sudah mempunyai anda memuat turun perkakas. 13 00:00:32,110 --> 00:00:38,630 Dan anda boleh berfikir CS50 Ruang sebagai antara muka web bercakap dengan perkakas 14 00:00:38,630 --> 00:00:40,670 bahawa kita mempunyai pada pelayan beberapa tempat. 15 00:00:40,670 --> 00:00:42,990 Jadi, anda boleh menjalankan kod anda dalam antara muka ini, dan kita akan 16 00:00:42,990 --> 00:00:44,180 lihat bagaimana untuk melakukan perkara-perkara. 17 00:00:44,180 --> 00:00:48,200 Anda juga boleh melihat kod orang lain dalam seksyen itu, dan - 18 00:00:48,200 --> 00:00:51,920 ALI: Dan kerana beberapa orang telah menemui keluar, anda boleh berbual orang di sebelah. 19 00:00:51,920 --> 00:00:54,230 Dan kita semua akan melihat, terlalu, jadi yang menarik. 20 00:00:54,230 --> 00:00:55,655 Come on, datang dan duduk. 21 00:00:55,655 --> 00:00:57,060 Ambil tempat duduk. 22 00:00:57,060 --> 00:00:57,840 >> ROB: Jadi, seksyen - 23 00:00:57,840 --> 00:00:59,380 ALI: Tidak, tidak, anda semua boleh datang. 24 00:00:59,380 --> 00:01:03,356 ROB: Seksyen akan menjadi lebih interaktif semester ini. 25 00:01:03,356 --> 00:01:04,180 ALI: Oh, dia seperti - 26 00:01:04,180 --> 00:01:05,840 Oh. 27 00:01:05,840 --> 00:01:07,530 Okay, sejuk. 28 00:01:07,530 --> 00:01:15,630 Jadi, jika anda lelaki hanya datang dalam, anda boleh pergi ke pautan ini, jika saya boleh mendapatkan 29 00:01:15,630 --> 00:01:20,190 di sana, di sana. 30 00:01:20,190 --> 00:01:22,780 Kita tidak boleh benar-benar menulis, kerana tidak ada ruang lembaga, tetapi link ini 31 00:01:22,780 --> 00:01:27,160 di sini, pergi ke pada komputer anda, dan anda akan memasuki CS50 32 00:01:27,160 --> 00:01:29,810 Ruang, yang merupakan satu perkara yang agak sejuk. 33 00:01:32,460 --> 00:01:33,830 Okay. 34 00:01:33,830 --> 00:01:35,370 Adakah anda mempunyai masalah? 35 00:01:35,370 --> 00:01:39,930 ROB: Jadi, anda boleh mencari masalah - 36 00:01:39,930 --> 00:01:42,720 kita perlu mampu untuk menulis suatu tempat ini. 37 00:01:42,720 --> 00:01:50,040 Jadi, jika anda pergi kepada cs50.net/psets dan ini adalah supersection penggodam - 38 00:01:50,040 --> 00:01:55,870 dan anda pergi ke Edisi Hacker daripada pset satu, melihat spesifikasi 39 00:01:55,870 --> 00:01:57,620 tempat turun pada halaman - 40 00:02:01,940 --> 00:02:04,280 >> ALI: Jadi, pada asasnya, manakala Rob mencari, apa yang kita akan lakukan dalam 41 00:02:04,280 --> 00:02:06,650 seksyen hari ini adalah terdapat seksyen masalah - 42 00:02:06,650 --> 00:02:07,600 ROB: - lapan halaman. 43 00:02:07,600 --> 00:02:09,300 ALI: - dipanggil seksyen masalah - 44 00:02:09,300 --> 00:02:10,280 ROB: Seksyen soalan. 45 00:02:10,280 --> 00:02:11,630 ALI: Maaf, seksyen soalan. 46 00:02:11,630 --> 00:02:14,450 Dan orang-orang adalah apa yang kita akan pergi lebih - 47 00:02:14,450 --> 00:02:16,370 mereka adalah apa yang kita akan pergi ke hari ini dalam seksyen. 48 00:02:16,370 --> 00:02:20,010 Dan kita akan kod pada CS50 Ruang, dan diharapkan yang akan bekerja. 49 00:02:20,010 --> 00:02:22,210 Dan kita hanya boleh bercakap melalui mereka. 50 00:02:22,210 --> 00:02:24,510 Dan anda semua boleh bertanya soalan apabila anda rasa - 51 00:02:24,510 --> 00:02:27,890 >> ROB: Jadi ini semakin menjadi perkara biasa dengan kebanyakan psets. 52 00:02:27,890 --> 00:02:31,000 Saya fikir dengan yang satu ini, ia mengatakan anda tidak perlu untuk menyerahkan soalan-soalan ini masuk 53 00:02:31,000 --> 00:02:36,780 Tetapi idea adalah bahawa soalan-soalan ini diletakkan pada pset, dan anda boleh datang 54 00:02:36,780 --> 00:02:39,790 seksyen untuk mempunyai soalan-soalan menjawab. 55 00:02:39,790 --> 00:02:42,730 Atau jika anda tidak datang ke bahagian, anda boleh menjawab mereka sendiri atau mendapatkan 56 00:02:42,730 --> 00:02:44,250 membantu pada waktu pejabat atau sesuatu. 57 00:02:44,250 --> 00:02:47,540 Tetapi ini adalah soalan yang sepatutnya untuk persediaan anda untuk set masalah. 58 00:02:47,540 --> 00:02:50,910 Dan pada edisi penggodam, banyak soalan mungkin hanya kira-kira 59 00:02:50,910 --> 00:02:54,170 mengembangkan pengetahuan CS semasa anda. 60 00:02:54,170 --> 00:02:55,370 ALI: Ya, cukup banyak. 61 00:02:55,370 --> 00:02:57,950 >> Okay, jadi, semua orang di CS50 kawasan? 62 00:02:57,950 --> 00:02:59,457 Hi, datang masuk 63 00:02:59,457 --> 00:03:00,828 SPEAKER 1: Bolehkah kita melihat URL sekali lagi? 64 00:03:04,030 --> 00:03:07,000 Merompak: Ya, ini akan menjadi lebih mudah apabila anda sebenarnya dalam seksyen anda, dan 65 00:03:07,000 --> 00:03:10,760 TF anda hanya boleh menghantar e-mel kepada anda URL terlebih dahulu. 66 00:03:10,760 --> 00:03:11,870 ALI: Yay, mengambil tempat duduk. 67 00:03:11,870 --> 00:03:13,170 Terdapat tempat duduk di sini. 68 00:03:13,170 --> 00:03:14,420 Depan tidak begitu buruk. 69 00:03:17,112 --> 00:03:18,362 Apa? 70 00:03:20,650 --> 00:03:23,590 Jadi, CS50 kawasan, kita mendapat sana. 71 00:03:23,590 --> 00:03:26,760 Adakah sesiapa yang mempunyai apa-apa soalan sebelum kita masuk ke dalam - apa? 72 00:03:26,760 --> 00:03:28,060 ROB: Tidak walaupun apa-apa kapur. 73 00:03:28,060 --> 00:03:29,270 [Didengar] 74 00:03:29,270 --> 00:03:31,540 ALI: Maaf. 75 00:03:31,540 --> 00:03:32,950 Anda boleh menggunakan kuku anda? 76 00:03:32,950 --> 00:03:38,210 Kami berada di dalam bilik yang sangat berteknologi rendah untuk kelas yang sangat berteknologi tinggi. 77 00:03:38,210 --> 00:03:40,795 Okay, adalah jenis orang baik? 78 00:03:40,795 --> 00:03:44,310 Adakah sesiapa yang mempunyai masih soalan tentang hal itu? 79 00:03:44,310 --> 00:03:48,540 Seperti yang saya katakan sebelum ini, kita akan pergi melalui seksyen soalan dalam 80 00:03:48,540 --> 00:03:51,340 pset spesifikasi. 81 00:03:51,340 --> 00:03:53,490 Jadi, terdapat hanya beberapa masalah yang kita akan 82 00:03:53,490 --> 00:03:57,490 kod di CS50 kawasan. 83 00:03:57,490 --> 00:03:58,740 Adakah semua orang yang baik? 84 00:04:01,010 --> 00:04:01,360 Okay. 85 00:04:01,360 --> 00:04:02,312 Baik? 86 00:04:02,312 --> 00:04:04,260 ROB: Adakah anda mempunyai komputer riba? 87 00:04:04,260 --> 00:04:05,150 ALI: Anda boleh bergaul dengan Lucas. 88 00:04:05,150 --> 00:04:06,960 Dia duduk betul-betul di sebelah anda. 89 00:04:06,960 --> 00:04:10,030 Masa ikatan. 90 00:04:10,030 --> 00:04:10,990 >> ROB: Jadi, bermula dengan masalah yang pertama? 91 00:04:10,990 --> 00:04:11,260 ALI: Ya. 92 00:04:11,260 --> 00:04:11,820 Kita boleh mula. 93 00:04:11,820 --> 00:04:12,390 Adakah anda mahu saya - 94 00:04:12,390 --> 00:04:13,700 Saya boleh pergi. 95 00:04:13,700 --> 00:04:16,666 Jadi, kita akan pergi spesifikasi pset. 96 00:04:16,666 --> 00:04:17,640 Oh, mengapa ia - 97 00:04:17,640 --> 00:04:18,890 ROB: Kawalan. 98 00:04:21,769 --> 00:04:25,770 ALI: Okay, jadi kita pergi ke jawapan perkara-perkara ini juga? 99 00:04:25,770 --> 00:04:26,190 ROB: Oh, ya. 100 00:04:26,190 --> 00:04:27,280 Jadi - 101 00:04:27,280 --> 00:04:29,675 ALI: Oh, adakah seluar pendek dibintangi semua orang menonton Rob? 102 00:04:32,430 --> 00:04:33,360 Okay, sejuk. 103 00:04:33,360 --> 00:04:36,870 ROB: Ya, saya tidak fikir kita semestinya dijangka anda mempunyai 104 00:04:36,870 --> 00:04:40,650 melihat ia sebelum datang kepada seksyen ini, tetapi kita boleh membincangkan 105 00:04:40,650 --> 00:04:43,870 masalah terlebih dahulu, kerana mereka adalah di bawah seksyen perkara soalan. 106 00:04:43,870 --> 00:04:46,480 Jadi jika anda telah tidak menonton, jangan bimbang. 107 00:04:46,480 --> 00:04:48,630 Mereka yang mempunyai boleh cuba dan menjawab. 108 00:04:48,630 --> 00:04:53,875 >> Jadi, soalan pertama, apakah pra-pemproses, bagaimana # include 109 00:04:53,875 --> 00:04:56,080 berkaitan? 110 00:04:56,080 --> 00:04:58,440 Jadi adakah sesiapa yang mempunyai jawapan untuk itu? 111 00:04:58,440 --> 00:04:59,320 ALI: Anda lelaki boleh bercakap ia keluar. 112 00:04:59,320 --> 00:05:00,308 Pasti, pergi ke hadapan. 113 00:05:00,308 --> 00:05:03,766 SPEAKER 2: # include adalah beberapa kod pra-bertulis, dan bukannya 114 00:05:03,766 --> 00:05:08,706 menyalin dan menampal dalam program anda, dengan hanya mengatakan termasuk, 115 00:05:08,706 --> 00:05:14,140 pra pemproses tahu bahawa ia adalah di sana dan bahawa ia harus menambah dalam 116 00:05:14,140 --> 00:05:17,520 lewat atau sebelum apa-apa lagi berlaku. 117 00:05:17,520 --> 00:05:18,466 ALI: Ya, hebat. 118 00:05:18,466 --> 00:05:19,440 Sejuk. 119 00:05:19,440 --> 00:05:23,820 ROB: Jadi apabila anda sebenarnya menyusun program, pra-pemproses ini 120 00:05:23,820 --> 00:05:25,230 langkah pertama. 121 00:05:25,230 --> 00:05:27,620 Penyusunan berlaku dalam empat langkah besar. 122 00:05:27,620 --> 00:05:31,120 Jadi pra-pemproses adalah yang pertama besar, dan ia adalah ini lelaki yang pergi 123 00:05:31,120 --> 00:05:33,510 melalui dan kelihatan untuk semua ini simbol hash. 124 00:05:33,510 --> 00:05:36,610 Dan mana-mana baris yang bermula dengan hash, pra-pemproses melihat dan melihat 125 00:05:36,610 --> 00:05:37,880 jika ia boleh memproses. 126 00:05:37,880 --> 00:05:43,800 Jadi # include memberitahu pra-pemproses untuk mencari beberapa cs50.h 127 00:05:43,800 --> 00:05:47,830 memfailkan dan hanya salin dan tampal kandungannya ke dalam fail ini. 128 00:05:47,830 --> 00:05:50,970 Jadi, anda boleh benar-benar # termasuk apa sahaja yang anda mahu, tetapi ia kebanyakannya akan menjadi 129 00:05:50,970 --> 00:05:53,700 H fail. 130 00:05:53,700 --> 00:05:55,820 Kami tidak mendapat # define lagi, jadi yang tidak kira. 131 00:05:55,820 --> 00:05:57,620 ALI: Ya, kami baik pada yang satu. 132 00:05:57,620 --> 00:05:59,450 Adakah sesiapa yang mempunyai apa-apa soalan tentang itu? 133 00:05:59,450 --> 00:06:01,090 Adakah kita baik? 134 00:06:01,090 --> 00:06:02,430 Soalan seterusnya. 135 00:06:02,430 --> 00:06:07,096 >> SPEAKER 3: Dalam pendek, ada sesuatu tentang c juga.? 136 00:06:07,096 --> 00:06:09,110 Apakah yang relevan atau ia tidak relevan? 137 00:06:09,110 --> 00:06:11,210 ROB: Mengenai c dengan pemproses pra-.? 138 00:06:11,210 --> 00:06:13,990 SPEAKER 3: Yeah, atau adakah saya membuat sesuatu sehingga? 139 00:06:13,990 --> 00:06:18,290 ROB: Jadi pendek mungkin telah menunjukkan pra-pemprosesan fail ini dan 140 00:06:18,290 --> 00:06:24,240 keluarkan ia kepada yang lain fail c, jadi anda boleh pra-memproses fail ini - 141 00:06:24,240 --> 00:06:30,000 apabila anda hanya menjalankan seperti, membuat hello atau hello.c dilafaz, anda melakukan semua 142 00:06:30,000 --> 00:06:31,730 kompilasi dalam satu langkah besar. 143 00:06:31,730 --> 00:06:34,780 Tetapi jelas anda boleh melakukannya kepada langkah-langkah yang berasingan. 144 00:06:34,780 --> 00:06:36,950 Jadi pertama anda boleh pra-memprosesnya. 145 00:06:36,950 --> 00:06:42,260 Kemudian anda boleh menyusun, maka anda boleh memasang, dan kemudian anda boleh link. 146 00:06:42,260 --> 00:06:43,620 Kita akan sampai kepada orang-orang yang lain. 147 00:06:43,620 --> 00:06:47,410 Tetapi pra-pemprosesan, anda jenis proses pra-ia, dan kemudian ia masuk ke dalam 148 00:06:47,410 --> 00:06:49,270 fail lain c. 149 00:06:49,270 --> 00:06:51,430 Kerana pra-pemprosesan tidak benar-benar mengubah apa-apa. 150 00:06:51,430 --> 00:06:52,800 Ia hanya sekumpulan salinan dan menampal. 151 00:06:52,800 --> 00:06:56,760 Anda secara manual boleh salin dan tampalkannya sendiri. 152 00:06:56,760 --> 00:06:59,630 ALI: Dan untuk menjadi jelas, fail c fail C, jadi ia 153 00:06:59,630 --> 00:07:00,930 ditulis dalam kod C. 154 00:07:00,930 --> 00:07:03,300 Jadi ia pergi dari kod C dengan kod C. 155 00:07:03,300 --> 00:07:05,210 Anda hanya menambah kod lebih dengan pound. 156 00:07:05,210 --> 00:07:08,575 ROB: Apabila anda pra diproses, ia masih fail C yang sah. 157 00:07:08,575 --> 00:07:09,940 SPEAKER 3: Okay. 158 00:07:09,940 --> 00:07:10,540 ALI: Soalan yang baik. 159 00:07:10,540 --> 00:07:11,370 Saya suka bahawa. 160 00:07:11,370 --> 00:07:12,755 Okay, soalan seterusnya. 161 00:07:17,870 --> 00:07:19,660 >> Apa pengkompil? 162 00:07:19,660 --> 00:07:20,824 Sesiapa sahaja? 163 00:07:20,824 --> 00:07:21,286 Ya. 164 00:07:21,286 --> 00:07:24,650 SPEAKER 4: Ia menukar kod pra-diproses ke perhimpunan. 165 00:07:24,650 --> 00:07:25,110 ALI: Perfect. 166 00:07:25,110 --> 00:07:25,390 ROB: Ya. 167 00:07:25,390 --> 00:07:25,720 ALI: Cool. 168 00:07:25,720 --> 00:07:28,270 ROB: Supaya apa pengkompil melakukan khusus 169 00:07:28,270 --> 00:07:30,740 apabila kita menggunakan dilafaz. 170 00:07:30,740 --> 00:07:35,100 Dalam erti kata yang sangat umum, pengkompil adalah sama seperti mengambil kod dalam satu bahasa 171 00:07:35,100 --> 00:07:37,070 dan menjadikan ia ke dalam bahasa lain. 172 00:07:37,070 --> 00:07:38,370 Jadi, dalam C - 173 00:07:38,370 --> 00:07:43,750 atau, baik, dilafaz mengambil kod yang dalam C dan mengubah ia untuk pemasangan. 174 00:07:43,750 --> 00:07:46,560 Dan anda tidak perlu akan dapat memahami perhimpunan pada semua. 175 00:07:46,560 --> 00:07:49,830 Tetapi itulah bahasa yang ia menjadikan ia ke dalam. 176 00:07:49,830 --> 00:07:50,230 >> ALI: Okay. 177 00:07:50,230 --> 00:07:52,920 Dan kemudian, apa penghimpun? 178 00:07:52,920 --> 00:07:54,270 Sesiapa sahaja? 179 00:07:54,270 --> 00:07:56,810 SPEAKER 5: [didengar] binari? 180 00:07:56,810 --> 00:07:57,260 ALI: Maaf, apa? 181 00:07:57,260 --> 00:07:58,760 SPEAKER 5: [didengar] binari? 182 00:07:58,760 --> 00:07:59,260 ROB: Ya. 183 00:07:59,260 --> 00:07:59,880 ALI: Ya. 184 00:07:59,880 --> 00:08:01,960 ROB: Jadi penghimpun - 185 00:08:01,960 --> 00:08:05,830 kod perhimpunan adalah benar-benar, benar-benar dekat dengan apa yang komputer anda boleh memahami, 186 00:08:05,830 --> 00:08:09,390 tetapi ingat bahawa ia tidak cukup memahami teks 187 00:08:09,390 --> 00:08:10,630 yang kod pemasangan. 188 00:08:10,630 --> 00:08:14,570 Anda perlu menukar ia ke dalam 1s dan 0s lurus. 189 00:08:14,570 --> 00:08:17,000 Ia seperti proses terjemahan langsung. 190 00:08:17,000 --> 00:08:19,450 Kami hanya boleh memberikan anda jadual yang memetakan setiap apa 191 00:08:19,450 --> 00:08:21,880 arahan pemasangan bermakna. 192 00:08:21,880 --> 00:08:24,340 Tetapi penghimpun hanya melakukan terjemahan ini untuk anda. 193 00:08:24,340 --> 00:08:28,790 Ia mengubah kod pemasangan ke dalam 1s dan 0s. 194 00:08:28,790 --> 00:08:30,870 >> ALI: Dan kemudian, untuk satu yang terakhir, apakah pemaut satu? 195 00:08:30,870 --> 00:08:35,070 Dan bagaimana-lcs50 berkaitan? 196 00:08:35,070 --> 00:08:37,010 Sesiapa sahaja? 197 00:08:37,010 --> 00:08:41,440 ROB: Ini adalah yang paling sukar dan kurangnya menjelaskan salah dalam video pengkompil. 198 00:08:41,440 --> 00:08:48,980 ALI: Adakah sesiapa ingat melihat-lcs50 dalam perintah? 199 00:08:48,980 --> 00:08:50,690 SPEAKER 6: Apabila anda pergi untuk membuat. 200 00:08:50,690 --> 00:08:51,980 ALI: Ia adalah dalam membuat. 201 00:08:51,980 --> 00:08:55,780 Ya, sejuk, okay. 202 00:08:55,780 --> 00:09:02,024 Adakah terdapat mana-mana tekaan atau samar-samar - ya, pergi. 203 00:09:02,024 --> 00:09:06,370 SPEAKER 7: Saya tidak pasti, kerana pendek anda adalah benar-benar [didengar], tetapi ia 204 00:09:06,370 --> 00:09:12,244 sesuatu tentang melakukan fail berasingan dengan setiap perpustakaan dan kemudian meletakkan 205 00:09:12,244 --> 00:09:13,620 mereka semua bersama-sama dalam satu perpustakaan? 206 00:09:13,620 --> 00:09:14,400 ROB: Ya. 207 00:09:14,400 --> 00:09:23,000 Jadi apabila anda mempunyai hello.c, ia adalah satu program yang benar-benar mudah. 208 00:09:23,000 --> 00:09:25,570 Anda benar-benar hanya melakukan satu perkara di dalamnya. 209 00:09:25,570 --> 00:09:27,400 Tetapi apabila anda mendapatkan ke dalam program lain - 210 00:09:27,400 --> 00:09:31,700 dan saya rasa walaupun apabila anda GetString dalam program anda, anda perlu untuk memulakan 211 00:09:31,700 --> 00:09:33,830 termasuk fail lain. 212 00:09:33,830 --> 00:09:38,000 Jadi perpustakaan CS50 adalah salah satu fail itu di mana kita mempunyai pelaksanaan 213 00:09:38,000 --> 00:09:40,750 GetString dan GetInt dan semua perkara. 214 00:09:40,750 --> 00:09:45,540 Jadi apa pemaut tidak adalah ia berlaku di sekeliling mencari melalui semua ini 215 00:09:45,540 --> 00:09:49,400 fail, melihat di mana fungsi ditakrifkan, memastikan bahawa apabila saya panggil 216 00:09:49,400 --> 00:09:52,440 GetString tempat, ia tahu bahawa GetString bermakna bahawa ia adalah 217 00:09:52,440 --> 00:09:54,910 GetString alih di perpustakaan CS50. 218 00:09:54,910 --> 00:09:58,895 Jadi pemaut hanya mengambil semua fail-fail ini, smesy mereka bersama-sama, dan kini 219 00:09:58,895 --> 00:10:01,020 anda mempunyai laksana. 220 00:10:01,020 --> 00:10:05,600 Jadi ingat, jika anda menggunakan perpustakaan CS50, anda perlu kedua-dua 221 00:10:05,600 --> 00:10:10,370 # Include di atas, dan kemudian juga dalam perintah membuat anda, seperti yang anda 222 00:10:10,370 --> 00:10:12,630 berkata, anda perlu mempunyai lcs50. 223 00:10:12,630 --> 00:10:15,720 Jadi anda tidak boleh hanya mempunyai satu. 224 00:10:15,720 --> 00:10:18,294 Jadi itu hanya sesuatu yang perlu diingat untuk rujukan masa depan. 225 00:10:18,294 --> 00:10:22,550 >> SPEAKER 8: Jadi, mari kita mengatakan terdapat perpustakaan lain, seperti cs51.h, akan kita 226 00:10:22,550 --> 00:10:26,780 juga mempunyai untuk menambah lcs51? 227 00:10:26,780 --> 00:10:32,390 ROB: Satu-satunya sebab ini lcs50 berfungsi dengan sempurna adalah kerana kita mempunyai set yang 228 00:10:32,390 --> 00:10:35,800 di tempat tertentu dalam peralatan anda supaya ia tahu apa 229 00:10:35,800 --> 00:10:38,550 -Lcs50 bermakna. 230 00:10:38,550 --> 00:10:43,240 Kita hanya boleh memberi anda fail cs50.c, dan kemudian anda boleh mengumpul, berkata 231 00:10:43,240 --> 00:10:49,050 Dilafaz hello.c cs50.c, dan kemudian ia akan membuat laku anda dengan meletakkan 232 00:10:49,050 --> 00:10:50,350 kedua-dua fail bersama-sama. 233 00:10:50,350 --> 00:10:56,520 Ia tahu bahawa-lcs50 bermakna cs50.c lebih dalam direktori beberapa yang kita dinyatakan dalam 234 00:10:56,520 --> 00:10:58,350 peralatan anda. 235 00:10:58,350 --> 00:11:04,290 Jadi, jika anda mahu cs51.c menjadi specifiable oleh hanya mengatakan lcs51, 236 00:11:04,290 --> 00:11:06,760 maka kita juga akan perlu untuk meletakkan ia dalam direktori itu supaya ia tahu di mana untuk 237 00:11:06,760 --> 00:11:08,636 mencari ia. 238 00:11:08,636 --> 00:11:10,510 ALI: Apakah soalan anda? 239 00:11:10,510 --> 00:11:13,975 >> SPEAKER 7: Kenapa anda perlu untuk menghubungkan CS50 240 00:11:13,975 --> 00:11:18,940 jika - wasn't ia menyalin / ditampal pada langkah pertama apabila anda pra diproses ia? 241 00:11:18,940 --> 00:11:19,700 ALI: Adakah anda mahu mengambil ia? 242 00:11:19,700 --> 00:11:20,880 ROB: Pasti. 243 00:11:20,880 --> 00:11:28,028 Jadi fail cs50.h berasingan dari fail C cs50.c. 244 00:11:28,028 --> 00:11:33,652 Pernahkah anda mendapat untuk berfungsi prototaip di dalam kelas? 245 00:11:33,652 --> 00:11:34,350 Okay. 246 00:11:34,350 --> 00:11:40,255 Jadi, pada asasnya, fail cs50.h hanya akan menyalin dan menampal - 247 00:11:40,255 --> 00:11:44,040 ALI: Adakah anda semua tahu apa tandatangan? 248 00:11:44,040 --> 00:11:46,580 Okay, supaya cukup banyak, jika anda melihat - 249 00:11:46,580 --> 00:11:50,530 ROB: cs50.h Mari kita berpura-pura tidak ada. 250 00:11:50,530 --> 00:11:52,960 Sekarang fail ini - 251 00:11:52,960 --> 00:11:56,090 anda melakukan GetString = rentetan s. 252 00:11:56,090 --> 00:11:59,350 Tetapi apabila kita telah mendapat ke titik ini dalam kod, ia tidak mempunyai idea apa 253 00:11:59,350 --> 00:12:00,230 GetString. 254 00:12:00,230 --> 00:12:02,600 Ia tahu ia adalah fungsi, kerana anda memanggilnya. 255 00:12:02,600 --> 00:12:06,500 Tetapi ia tidak tahu bahawa ia sebenarnya sepatutnya kembali rentetan. 256 00:12:06,500 --> 00:12:14,530 Jadi seperti yang saya kata, rentetan s = GetInt, ini tidak masuk akal mana-mana, kerana 257 00:12:14,530 --> 00:12:17,530 anda menandatangani integer kepada rentetan. 258 00:12:17,530 --> 00:12:22,270 Tetapi ia tidak tahu bahawa GetString tidak masuk akal, kerana ia tidak 259 00:12:22,270 --> 00:12:24,380 tahu bahawa GetString mengembalikan rentetan. 260 00:12:24,380 --> 00:12:28,220 Jadi apa cs50.h mengatakan sesuatu seperti ini. 261 00:12:33,070 --> 00:12:37,750 ALI: Jadi apa Rob sedang menaip adalah, ia adalah satu janji dengan cara yang ia akan 262 00:12:37,750 --> 00:12:41,280 mempunyai fungsi ini dipanggil GetString. 263 00:12:41,280 --> 00:12:45,250 ROB: Ini adalah semua cs50.h bahawa menyalin dan menampal di sini, serta 264 00:12:45,250 --> 00:12:47,620 sebagai GetInt dan semua perkara. 265 00:12:47,620 --> 00:12:51,520 Dan ini hanya berkata bahawa GetString tidak mengembalikan rentetan. 266 00:12:51,520 --> 00:12:54,830 Anda tidak tahu bagaimana ia dilaksanakan lagi, tetapi apabila kita sampai ke garisan ini, kini 267 00:12:54,830 --> 00:12:57,760 ia tahu bahawa ia betul mengembalikan rentetan. 268 00:12:57,760 --> 00:13:03,022 >> SPEAKER 9: Jadi, jika kita tidak peduli dengan perkara yang # include dan sebaliknya 269 00:13:03,022 --> 00:13:07,130 hanya menulis prototaip bagi orang-orang bahawa kita sebenarnya akan digunakan? 270 00:13:07,130 --> 00:13:07,330 ROB: Ya. 271 00:13:07,330 --> 00:13:08,870 Jadi mari kita berjalan ini. 272 00:13:08,870 --> 00:13:09,110 SPEAKER 9: Apakah ia? 273 00:13:09,110 --> 00:13:13,670 Jadi, secara lalai, ia akan melakukan l-CS50 hanya kerana -. 274 00:13:13,670 --> 00:13:14,740 ROB: - ungkapan. 275 00:13:14,740 --> 00:13:19,370 ALI: Ya, kerana seperti yang anda katakan, ia adalah dalam fail buatan. 276 00:13:19,370 --> 00:13:24,040 ROB: cs50.h juga berlaku untuk menjadi * typedef char kepada rentetan. 277 00:13:24,040 --> 00:13:26,950 Anda benar-benar boleh mengabaikan apa yang bermakna buat masa sekarang. 278 00:13:26,950 --> 00:13:31,430 Tetapi itu adalah juga sesuatu yang dimasukkan ke dalam cs50.h. 279 00:13:31,430 --> 00:13:34,230 Jadi sekarang perkara yang bekerja dengan sempurna halus. 280 00:13:34,230 --> 00:13:40,770 Ia berjalan sama kerana ia adalah apabila kita hanya mempunyai 281 00:13:40,770 --> 00:13:45,120 # include. 282 00:13:45,120 --> 00:13:49,200 Dan sebagainya termasuk cs50.h berlaku termasuk lebih-perkara yang anda perlukan - 283 00:13:49,200 --> 00:13:53,080 seperti, anda tidak menggunakan GetInt dalam program ini, tetapi ia tidak mengapa. 284 00:13:53,080 --> 00:13:55,010 Ia hanya akan mengabaikan ia. 285 00:13:55,010 --> 00:14:02,400 ALI: Dan kemudian apabila anda melakukan lcs50 di sini dan di sini, apa yang berlaku 286 00:14:02,400 --> 00:14:05,290 adalah bahawa ia mempunyai kod dilaksanakan sebenar. 287 00:14:05,290 --> 00:14:07,530 Jadi itulah di mana ia sebenarnya adalah, melakukan - 288 00:14:07,530 --> 00:14:09,090 menulis kod untuk GetString. 289 00:14:09,090 --> 00:14:11,180 Jadi ia bukan hanya janji lagi. 290 00:14:11,180 --> 00:14:16,520 Ia sebenarnya akan melalui dan mengambil rentetan dan semua barangan itu. 291 00:14:16,520 --> 00:14:17,600 Masuk akal? 292 00:14:17,600 --> 00:14:22,640 Soalan? Semua hak. 293 00:14:22,640 --> 00:14:24,466 Kacang sejuk. 294 00:14:24,466 --> 00:14:27,630 >> ROB: Sekarang kita boleh beralih kepada kod sebenar. 295 00:14:27,630 --> 00:14:28,780 ALI: Okay. 296 00:14:28,780 --> 00:14:33,340 Jadi di sini adalah masalah pertama. 297 00:14:33,340 --> 00:14:36,910 Jadi ia mengatakan menulis program yang meminta pengguna untuk huruf kecil 298 00:14:36,910 --> 00:14:40,540 surat dan kemudian menukarkan ia kepada huruf besar tanpa menggunakan bitwise 299 00:14:40,540 --> 00:14:43,590 operasi, sebagai setiap output sampel bawah. 300 00:14:43,590 --> 00:14:48,780 Jadi anda boleh melihat, anda menjalankan program dengan a.out /, dan kemudian anda 301 00:14:48,780 --> 00:14:53,320 akan dimasukkan ke dalam huruf kecil a, dan kemudian program anda perlu memberi modal 302 00:14:53,320 --> 00:15:00,590 A. Jadi mengapa tidak anda semua semua memberikan ia satu pukulan pada CS50 Ruang? 303 00:15:00,590 --> 00:15:03,360 Jadi kalian semua boleh pergi di sini. 304 00:15:03,360 --> 00:15:06,650 Dan anda boleh memadam semua kod di sini. 305 00:15:06,650 --> 00:15:12,140 Dan kemudian anda boleh pergi ke hadapan dan mula pengekodan perkara. 306 00:15:12,140 --> 00:15:14,590 ROB: Anda mungkin akan mahu menggunakan GetChar, itulah 307 00:15:14,590 --> 00:15:16,190 dimasukkan ke dalam perpustakaan CS50. 308 00:15:16,190 --> 00:15:18,770 ALI: Saya rasa ia mungkin lebih baik jika anda menyimpan bahagian atas. 309 00:15:21,452 --> 00:15:23,805 Jadi anda mungkin mahu untuk hanya menukar barangan di tengah-tengah. 310 00:15:28,710 --> 00:15:29,070 Teruskan dan bekerja. 311 00:15:29,070 --> 00:15:30,530 Berasa bebas untuk bekerjasama dengan satu sama lain. 312 00:15:30,530 --> 00:15:32,360 Merompak: Dan anda boleh bertanya soalan jika anda mempunyai - 313 00:15:32,360 --> 00:15:33,450 >> SPEAKER 10: Apakah operasi bitwise? 314 00:15:33,450 --> 00:15:35,100 ROB: Jadi, mengabaikan bahawa untuk masalah ini. 315 00:15:35,100 --> 00:15:36,330 ALI: Jika anda tidak tahu, yang baik. 316 00:15:36,330 --> 00:15:38,300 ROB: Kami akan menggunakannya dalam masalah seterusnya. 317 00:15:38,300 --> 00:15:40,750 Tetapi jika anda tidak tahu apa pengendali bitwise adalah, itulah denda. 318 00:15:40,750 --> 00:15:43,575 SPEAKER 10: Apakah yang seperti beralih kepada kod ASCII? 319 00:15:43,575 --> 00:15:44,050 ALI: No. 320 00:15:44,050 --> 00:15:44,750 ROB: No. 321 00:15:44,750 --> 00:15:46,220 Anda boleh berbuat demikian bagi masalah ini. 322 00:15:46,220 --> 00:15:48,280 SPEAKER 10: Bagaimana anda berbuat demikian? 323 00:15:48,280 --> 00:15:52,460 Jadi, jika hanya saya mempunyai tempat untuk menulis - 324 00:15:52,460 --> 00:15:54,670 ALI: Atau sesuatu untuk menulis dengan. 325 00:15:54,670 --> 00:15:56,780 ROB: Saya boleh hanya jenis jenis ke dalam ini. 326 00:15:56,780 --> 00:15:59,045 ALI: Jenis di atas. 327 00:15:59,045 --> 00:16:01,390 ROB: Oh, saya duduk pada mikrofon. 328 00:16:01,390 --> 00:16:10,860 >> Jadi, kita lihat dalam kuliah bahawa nilai ASCII bagi modal adalah 65. 329 00:16:10,860 --> 00:16:13,670 Dan modal B akan 66, dan sebagainya. 330 00:16:13,670 --> 00:16:20,860 Jadi anda benar-benar boleh menggunakan 'A' bermakna nombor 65. 331 00:16:20,860 --> 00:16:24,600 Seperti, ini adalah nilai 65. 332 00:16:24,600 --> 00:16:30,950 Saya boleh berbuat sesuatu seperti int x = 100 - 'A'. Dan sekarang x akan mempunyai nilai 333 00:16:30,950 --> 00:16:33,810 100-65. 334 00:16:33,810 --> 00:16:36,708 ALI: Anda boleh menjalankan dan menunjukkan bahawa. 335 00:16:36,708 --> 00:16:38,420 Oh, mungkin tidak. 336 00:16:38,420 --> 00:16:38,600 Jangan sekali-kali fikiran. 337 00:16:38,600 --> 00:16:40,970 ROB: Saya terpaksa untuk mencetak. 338 00:16:40,970 --> 00:16:43,730 SPEAKER 10: Bagaimana anda menghidupkan ia kembali dengan watak? 339 00:16:43,730 --> 00:16:46,800 ALI: Jadi jika anda Don 't - 340 00:16:46,800 --> 00:16:51,450 anda hanya memaksa ia menjadi A char bersamaan. 341 00:16:51,450 --> 00:16:53,630 ROB: Jadi ada adalah - 342 00:16:53,630 --> 00:16:58,440 perbezaan antara char dan integer adalah hanya dari segi saiz. 343 00:16:58,440 --> 00:17:01,230 Jadi integer berlaku untuk menjadi mampu untuk mewakili perkara 344 00:17:01,230 --> 00:17:02,600 , seperti, empat bilion. 345 00:17:02,600 --> 00:17:05,839 Char hanya mampu untuk mewakili perkara sehingga 255. 346 00:17:05,839 --> 00:17:08,390 Tetapi tidak ada perbezaan di antara mereka yang lain daripada ini. 347 00:17:08,390 --> 00:17:12,339 Jadi, anda boleh mengatakan char c = 65. 348 00:17:12,339 --> 00:17:24,204 Itu bersamaan dengan mengatakan char c sama 'A'. 349 00:17:24,204 --> 00:17:25,210 ALI: Oh, tidak. 350 00:17:25,210 --> 00:17:26,710 Ia sebenarnya tidak menjimatkan perkara. 351 00:17:26,710 --> 00:17:28,130 ROB: Tidak, anda tidak boleh berbuat demikian. 352 00:17:28,130 --> 00:17:31,610 ALI: Itu hanya - 353 00:17:31,610 --> 00:17:34,920 [Mengerang] 354 00:17:34,920 --> 00:17:40,700 >> ROB: Okay, jadi apa yang Ali hanya menulis adalah satu program yang pertama kali mencetak 100 - 355 00:17:40,700 --> 00:17:46,290 'A' sebagai integer, yang adalah 35, seperti yang kita harapkan, kerana 100 tolak ASCII 356 00:17:46,290 --> 00:17:48,580 nilai A ialah 65. 357 00:17:48,580 --> 00:17:54,100 Kemudian dia dicetak menggunakan% c, yang bermaksud mentafsirkan ia sebagai char. 358 00:17:54,100 --> 00:17:57,050 Jadi 100 - 35. 359 00:17:57,050 --> 00:18:00,990 Mentafsirkan bahawa sebagai watak yang berlaku sebagai simbol hash. 360 00:18:00,990 --> 00:18:06,160 Jika anda melihat di asciitable.com atau apa sahaja, anda akan melihat bahawa 35 adalah 361 00:18:06,160 --> 00:18:07,410 simbol hash. 362 00:18:09,940 --> 00:18:12,700 ALI: Okay, apa-apa penjelasan lain tentang masalah ini? 363 00:18:16,000 --> 00:18:18,180 Baiklah, anda semua boleh pergi ke hadapan dan melakukannya kemudian. 364 00:18:18,180 --> 00:18:20,330 Berasa bebas untuk bertanya soalan atau bercakap antara satu sama lain. 365 00:18:20,330 --> 00:18:24,390 Atau jika anda sudah selesai, anda boleh berehat. 366 00:18:24,390 --> 00:18:29,640 >> Lucas: Adakah mereka kelas yang sama, semua huruf kecil dalam usaha dan 367 00:18:29,640 --> 00:18:32,923 juga huruf besar juga dalam perintah, kerana itulah sesuatu yang berguna untuk 368 00:18:32,923 --> 00:18:33,990 masalah. 369 00:18:33,990 --> 00:18:35,620 ALI: titik Baik, Lucas. 370 00:18:35,620 --> 00:18:37,430 Jadi, adakah anda semua semua mendapat bahawa? 371 00:18:37,430 --> 00:18:37,640 SPEAKER 11: Ya. 372 00:18:37,640 --> 00:18:39,535 Itulah bagaimana anda melakukannya, betul? 373 00:18:39,535 --> 00:18:39,960 ALI: Betul. 374 00:18:39,960 --> 00:18:40,415 ROB: Ya. 375 00:18:40,415 --> 00:18:47,270 SPEAKER 11: [didengar] 376 00:18:47,270 --> 00:18:48,330 ALI: Semua hak. 377 00:18:48,330 --> 00:18:49,350 ROB: Apa soalan meminta? 378 00:18:49,350 --> 00:18:50,590 Hanya untuk menukar - 379 00:18:50,590 --> 00:18:52,560 ALI: Tukar huruf kecil kepada huruf besar. 380 00:18:52,560 --> 00:18:53,100 Itu sahaja. 381 00:18:53,100 --> 00:18:54,700 ROB: Okay. 382 00:18:54,700 --> 00:18:56,180 ALI: Sekiranya kita menulis? 383 00:18:56,180 --> 00:18:59,340 Saya rasa kita hanya akan melihat orang lain. 384 00:18:59,340 --> 00:19:07,140 ROB: Jadi bagi orang-orang yang mungkin terperangkap, cara - 385 00:19:07,140 --> 00:19:15,160 jika saya mempunyai beberapa c char, dan mari kita mengatakan ia berlaku untuk menjadi huruf D. 386 00:19:15,160 --> 00:19:20,760 Jadi sekarang bagaimana saya boleh memikirkan apa surat abjad C? 387 00:19:20,760 --> 00:19:25,620 Tidak D, tetapi saya maksudkan, D berlaku untuk menjadi huruf keempat abjad. 388 00:19:25,620 --> 00:19:28,910 Dan jika kita mula mengira dari 0, maka ia adalah huruf ketiga abjad. 389 00:19:28,910 --> 00:19:36,240 Jadi, jika A adalah 0, B adalah 1, C ialah 2, D ialah 3, bagaimana saya boleh memahami kedudukan int - 390 00:19:36,240 --> 00:19:40,780 apakah kedudukan abjad C? 391 00:19:40,780 --> 00:19:42,333 Adakah sesiapa yang mempunyai apa-apa idea? 392 00:19:42,333 --> 00:19:45,440 ALI: Saya fikir mereka semua kod. 393 00:19:45,440 --> 00:19:46,440 ROB: Apa kira-kira satu yang pertama? 394 00:19:46,440 --> 00:19:48,608 SPEAKER 12: Jadi apa sahaja adalah, tolak yang pertama? 395 00:19:48,608 --> 00:19:49,030 ROB: Ya. 396 00:19:49,030 --> 00:19:49,950 ALI: Ya, hebat. 397 00:19:49,950 --> 00:19:51,765 Jadi anda boleh melakukan modal D - 398 00:19:51,765 --> 00:19:52,840 oh, maaf. 399 00:19:52,840 --> 00:19:55,620 Anda mengambil watak dan anda tolak yang pertama, seperti yang anda kata. 400 00:19:55,620 --> 00:20:03,940 ROB: Jadi jika D adalah sesuatu seperti 68, dan kita menolak A, yang adalah 65, maka kita akan mendapat 401 00:20:03,940 --> 00:20:07,130 3, memberitahu kita bahawa D adalah huruf ketiga abjad 402 00:20:07,130 --> 00:20:09,290 bermula dari 0. 403 00:20:09,290 --> 00:20:11,310 Jadi anda boleh menggunakannya. 404 00:20:11,310 --> 00:20:13,830 Sekarang kita tahu apa surat abjad, dari segi 405 00:20:13,830 --> 00:20:16,060 modal surat, atau - 406 00:20:16,060 --> 00:20:18,330 kita boleh melakukan perkara yang sama untuk huruf kecil untuk memikirkan apa 407 00:20:18,330 --> 00:20:20,170 huruf kecil kedudukan kami masuk 408 00:20:20,170 --> 00:20:25,690 Dan kita boleh gunakan bahawa untuk kemudian menukar bahawa untuk huruf besar menggunakan 409 00:20:25,690 --> 00:20:26,970 idea yang sangat serupa. 410 00:20:31,470 --> 00:20:32,670 Minta cadangan? 411 00:20:32,670 --> 00:20:35,810 >> ALI: Adakah anda semua menunggu, saya tidak tahu sejauh mana anda semua. 412 00:20:35,810 --> 00:20:40,060 Adakah kebanyakan anda lakukan, anda masih bekerja, anda terperangkap? 413 00:20:40,060 --> 00:20:42,020 Kalian boleh melaungkan - 414 00:20:42,020 --> 00:20:42,330 terperangkap. 415 00:20:42,330 --> 00:20:43,210 Satu orang terperangkap. 416 00:20:43,210 --> 00:20:43,560 Sejuk. 417 00:20:43,560 --> 00:20:44,700 Saya cenderung untuk terjebak, terlalu. 418 00:20:44,700 --> 00:20:45,415 SPEAKER 13: aku selesai. 419 00:20:45,415 --> 00:20:46,410 ALI: Anda lakukan? 420 00:20:46,410 --> 00:20:47,480 Okay. 421 00:20:47,480 --> 00:20:47,935 Selesai. 422 00:20:47,935 --> 00:20:49,300 SPEAKER 13: [didengar] 423 00:20:49,300 --> 00:20:50,600 ALI: Ya, sejuk. 424 00:20:50,600 --> 00:20:53,720 Adakah anda memeriksa bahawa ia adalah dalam bentuk huruf kecil? 425 00:20:53,720 --> 00:20:56,730 Okay, sejuk. 426 00:20:56,730 --> 00:20:59,882 Di manakah orang lain? 427 00:20:59,882 --> 00:21:06,140 Adakah petunjuk ini membantu anda, seperti untuk un-melekat diri sendiri? 428 00:21:06,140 --> 00:21:09,778 SPEAKER 14: Tidak benar-benar, tetapi hanya kerana, saya tidak tahu, saya tidak 429 00:21:09,778 --> 00:21:11,590 mencerna lagi. 430 00:21:11,590 --> 00:21:12,640 ALI: Okay, sejuk. 431 00:21:12,640 --> 00:21:13,431 Adakah anda ingin mencuba - 432 00:21:13,431 --> 00:21:16,140 atau adakah anda mahu pergi dan bercakap? 433 00:21:16,140 --> 00:21:18,590 >> ROB: Apa yang saya akan katakan adalah - 434 00:21:18,590 --> 00:21:19,890 jadi menggunakan ini. 435 00:21:19,890 --> 00:21:22,650 Adakah anda memahami bagaimana kita mendapat apa kedudukan abjad 436 00:21:22,650 --> 00:21:24,820 surat itu dalam? 437 00:21:24,820 --> 00:21:30,616 SPEAKER 14: Okay, jadi apabila anda meletakkan perkara dalam sebut harga tunggal, 438 00:21:30,616 --> 00:21:35,030 yang mengembalikan nombor? 439 00:21:35,030 --> 00:21:37,100 ROB: Ya. 440 00:21:37,100 --> 00:21:40,840 Ia akan diterjemahkan kepada nilai ASCII ia mewakili. 441 00:21:40,840 --> 00:21:43,350 Jadi adakah anda mahu pergi ke jadual ASCII atau apa sahaja ia adalah? 442 00:21:46,456 --> 00:21:47,840 ALI: Hanya satu ini? 443 00:21:47,840 --> 00:21:49,970 ROB: Ya. 444 00:21:49,970 --> 00:21:55,270 Jadi apabila anda meletakkan mana-mana simbol-simbol, mengabaikan banyak - 445 00:21:55,270 --> 00:21:56,450 ALI: [didengar] 446 00:21:56,450 --> 00:21:57,620 ROB: Oh, menggunakan kursor. 447 00:21:57,620 --> 00:21:58,380 ALI: Ya. 448 00:21:58,380 --> 00:21:59,690 Itu adalah menarik. 449 00:21:59,690 --> 00:22:04,050 ROB: Jadi, mengabaikan orang-orang di sebelah kiri, yang adalah simbol khas - 450 00:22:04,050 --> 00:22:08,520 jika anda meletakkan mana-mana simbol-simbol dalam petikan tunggal, maka ia akan menjadi 451 00:22:08,520 --> 00:22:11,620 diterjemahkan kepada nilai ini di sebelah kiri. 452 00:22:11,620 --> 00:22:13,660 ALI: Ini adalah nombor perpuluhan untuk ia. 453 00:22:13,660 --> 00:22:19,710 Ia seperti A perlawanan dengan 65, B kepada 66, dan anda akan melihat bahawa mereka semua dalam 454 00:22:19,710 --> 00:22:21,540 abjad, yang membuat perbezaan. 455 00:22:21,540 --> 00:22:27,110 Jadi, sebagai Rob mengatakan, sebelum ini, dalam kod itu, kita telah mengira jarak dari 456 00:22:27,110 --> 00:22:29,610 surat pertama, per se. 457 00:22:29,610 --> 00:22:32,820 Dan yang akan menjadi sama, sama ada ia besar atau huruf kecil. 458 00:22:32,820 --> 00:22:38,390 ROB: Jadi, apabila kita melakukan D, 68 tolak A 65,, kita mendapat 3. 459 00:22:38,390 --> 00:22:42,370 Kerana D adalah tiga kedudukan ke abjad. 460 00:22:42,370 --> 00:22:46,680 ALI: Jadi maka bagaimana anda akan menterjemahkan bahawa lebih untuk mencari d sedikit? 461 00:22:46,680 --> 00:22:47,240 ROB: Ya. 462 00:22:47,240 --> 00:22:52,230 Jadi jika saya mempunyai 3 sekarang, saya tahu saya mahu pergi tiga huruf ke - 463 00:22:52,230 --> 00:22:54,830 kita berlaku akan huruf kecil sekarang, tetapi katakan saya mahu pergi tiga 464 00:22:54,830 --> 00:22:58,610 kedudukan ke sebelah huruf kecil perkara. 465 00:22:58,610 --> 00:23:01,400 Jadi bagaimana saya boleh berbuat demikian? 466 00:23:01,400 --> 00:23:04,240 Saya tahu huruf kecil a adalah 97. 467 00:23:04,240 --> 00:23:07,535 Jadi bagaimana saya mencari tiga kedudukan ke huruf kecil? 468 00:23:10,461 --> 00:23:11,934 >> SPEAKER 15: Saya mempunyai satu soalan sebenarnya. 469 00:23:11,934 --> 00:23:12,425 ALI: Ya, teruskan. 470 00:23:12,425 --> 00:23:14,880 SPEAKER 15: Jadi untuk ini, ia tidak benar-benar perkara jika saya tahu kedudukan ini, 471 00:23:14,880 --> 00:23:16,360 suka, saya tidak perlu jadual ini. 472 00:23:16,360 --> 00:23:16,840 ROB: Nope. 473 00:23:16,840 --> 00:23:19,380 Anda tidak perlu untuk menggunakan mana-mana nombor-nombor ini. 474 00:23:19,380 --> 00:23:23,670 Dan ini merupakan satu titik penting dalam program anda bahawa anda harus tidak pernah keras 475 00:23:23,670 --> 00:23:25,500 kod sebarang pemalar ini. 476 00:23:25,500 --> 00:23:31,190 Gunakan 'A'. tidak pernah menggunakan 65 atau 97. 477 00:23:31,190 --> 00:23:34,370 ALI: Mereka dipanggil nombor sihir, dan mereka benar-benar mengelirukan. 478 00:23:34,370 --> 00:23:37,080 Seperti, apabila anda debugging kod, anda mungkin tidak ingat apa 479 00:23:37,080 --> 00:23:38,020 anda menggunakan mereka untuk. 480 00:23:38,020 --> 00:23:40,770 Dan bagi kita penggredan kod anda, kami akan tidak benar-benar tahu apa yang 481 00:23:40,770 --> 00:23:41,750 anda menggunakan mereka untuk. 482 00:23:41,750 --> 00:23:44,815 Jadi ia adalah lebih baik jika anda sebenarnya menggunakan watak-watak jadi ia membuatkan 483 00:23:44,815 --> 00:23:46,065 rasa lebih kepada rakyat. 484 00:23:49,460 --> 00:23:51,160 Okay, apa-apa soalan lain? 485 00:23:51,160 --> 00:23:52,975 Adakah lebih ramai orang yang dilakukan, atau - 486 00:23:56,243 --> 00:23:57,493 Saya rasa kita boleh menyemak. 487 00:23:59,870 --> 00:24:02,410 Ia adalah benar-benar menyeramkan yang anda boleh lihat kod rakyat. 488 00:24:02,410 --> 00:24:04,970 ROB: Ya. 489 00:24:04,970 --> 00:24:06,410 Kita tidak perlu berbuat demikian di sini. 490 00:24:06,410 --> 00:24:08,380 Kita tidak tahu nama rakyat, sama ada. 491 00:24:08,380 --> 00:24:10,940 ALI: Oh yeah, baik yang menjadikan ia lebih baik, jadi kami akan menjadi lebih tidak berat sebelah 492 00:24:10,940 --> 00:24:14,820 bukan hanya secara rawak memilih seseorang. 493 00:24:14,820 --> 00:24:15,360 Jangan bimbang. 494 00:24:15,360 --> 00:24:16,265 Saya tidak akan melakukannya. 495 00:24:16,265 --> 00:24:20,396 Jika anda mempunyai perkara rawak tentang - tidak pernah minda. 496 00:24:20,396 --> 00:24:20,870 Okay. 497 00:24:20,870 --> 00:24:22,556 Bagaimana orang buat? 498 00:24:22,556 --> 00:24:26,950 >> SPEAKER 17: Jadi garis kesembilan perlu mencetak watak? 499 00:24:26,950 --> 00:24:27,430 ROB: Ya. 500 00:24:27,430 --> 00:24:27,910 ALI: Ya. 501 00:24:27,910 --> 00:24:30,770 Jadi, jika anda pergi ke bawah - 502 00:24:30,770 --> 00:24:32,200 ROB: Oh, tidak boleh berbuat demikian. 503 00:24:32,200 --> 00:24:35,400 ALI: Anda akan melihat bahawa ia dicetak simbol hash. 504 00:24:35,400 --> 00:24:37,180 SPEAKER 17: Oh, okay. 505 00:24:37,180 --> 00:24:41,290 ROB: Saya rasa satu lagi cara anda boleh melihat perkara-perkara yang kita sedang mencetak dua 506 00:24:41,290 --> 00:24:42,540 aksara. 507 00:24:44,500 --> 00:24:47,740 Pertama kita percetakan adalah huruf A. 508 00:24:47,740 --> 00:24:51,610 Yang seterusnya kita percetakan adalah hanya 65. 509 00:24:51,610 --> 00:24:54,450 Ia mungkin akan menjerit pada saya untuk ini. 510 00:24:54,450 --> 00:25:00,060 Jadi, jika kita hanya menjalankan ini, anda akan melihat bahawa ia mencetak kedua-dua A kali. 511 00:25:00,060 --> 00:25:02,070 Kerana kita meminta perkara yang sama. 512 00:25:02,070 --> 00:25:07,840 Kami meminta ia untuk mencetak huruf A. Dan kemudian kita meminta ia untuk mencetak 513 00:25:07,840 --> 00:25:13,820 dari 65 ditafsirkan sebagai watak, yang merupakan perkara yang sama. 514 00:25:13,820 --> 00:25:15,100 ALI: Adakah anda mempunyai sesuatu untuk mengatakan? 515 00:25:15,100 --> 00:25:18,150 Oh, hanya bergurau, maaf. 516 00:25:18,150 --> 00:25:20,640 Baiklah, bagaimana orang - 517 00:25:20,640 --> 00:25:22,280 ROB: Kami hanya boleh berjalan melaluinya. 518 00:25:22,280 --> 00:25:25,250 >> ALI: Okay, jadi bagaimana anda memulakan? 519 00:25:25,250 --> 00:25:26,500 Sesiapa sahaja? 520 00:25:28,030 --> 00:25:34,486 Sebagai petunjuk, kita perlu untuk mendapatkan sesuatu daripada orang ramai, dari typers. 521 00:25:34,486 --> 00:25:36,850 SPEAKER 18: [didengar] 522 00:25:36,850 --> 00:25:38,290 ALI: Oh yeah, segera, sempurna. 523 00:25:38,290 --> 00:25:40,660 Jadi kita akan menaip - 524 00:25:40,660 --> 00:25:41,670 apa yang kita menaip? 525 00:25:41,670 --> 00:25:43,660 Sesiapa sahaja? 526 00:25:43,660 --> 00:25:46,480 Atau patut saya hanya menaip? 527 00:25:46,480 --> 00:25:47,530 Adakah kita sebenarnya menaip - 528 00:25:47,530 --> 00:25:48,430 ROB: Pasti. 529 00:25:48,430 --> 00:25:50,990 ALI: Jadi kita akan menaip printf segera, jadi kita boleh 530 00:25:50,990 --> 00:25:54,810 suka, memberikan saya watak. 531 00:25:54,810 --> 00:25:55,710 Okay, dan kemudian apa? 532 00:25:55,710 --> 00:25:56,664 Mengapa ia berbuat demikian? 533 00:25:56,664 --> 00:25:57,620 ROB: Saya tidak tahu. 534 00:25:57,620 --> 00:26:00,070 ALI: Okay. 535 00:26:00,070 --> 00:26:03,680 Jadi sekarang, kita memberitahu mereka untuk memberikan kita watak. 536 00:26:03,680 --> 00:26:07,064 Tetapi kemudian bagaimana anda sebenarnya mendapat watak yang? 537 00:26:07,064 --> 00:26:10,060 SPEAKER 19: Guna GetString. 538 00:26:10,060 --> 00:26:12,040 ALI: GetString? 539 00:26:12,040 --> 00:26:12,850 GetChar? 540 00:26:12,850 --> 00:26:17,038 Okay, jadi apa perbezaan antara rentetan dan char? 541 00:26:17,038 --> 00:26:20,020 SPEAKER 19: Rentetan siri, seperti pelbagai watak. 542 00:26:20,020 --> 00:26:21,910 >> ALI: Cool, yeah. 543 00:26:21,910 --> 00:26:25,550 Jadi dalam masalah ini, kita hanya perlu untuk mempertimbangkan satu aksara pada satu masa, jadi 544 00:26:25,550 --> 00:26:28,400 kita hanya akan melakukan GetChar misalnya itu. 545 00:26:28,400 --> 00:26:32,400 ROB: Kita boleh melaksanakan fungsi jika kita mahu mengambil rentetan keseluruhan 546 00:26:32,400 --> 00:26:35,750 dan pergi ke tali dan menukar semua huruf kecil ke huruf besar dan semua 547 00:26:35,750 --> 00:26:37,380 huruf besar kepada huruf kecil. 548 00:26:37,380 --> 00:26:39,170 Tetapi di sini, kami hanya meminta anda untuk satu watak. 549 00:26:39,170 --> 00:26:42,800 ALI: Jadi sekarang kita mempunyai watak di sini, tetapi kemudian kita perlu untuk menyelamatkan ia. 550 00:26:42,800 --> 00:26:45,070 Jadi maka kita akan menambah c char - apa? 551 00:26:45,070 --> 00:26:46,070 SPEAKER 20: Tentukan pembolehubah. 552 00:26:46,070 --> 00:26:48,100 ALI: Ya, sebenarnya. 553 00:26:48,100 --> 00:26:49,585 Jadi kita mempunyai watak kami. 554 00:26:49,585 --> 00:26:51,766 ROB: Saya fikir anda mungkin - 555 00:26:51,766 --> 00:26:55,630 anda hanya tiga ruang dalam, itulah sebabnya ia menjerit pada anda. 556 00:26:55,630 --> 00:27:01,300 >> ALI: Okay, sejuk, sekarang bahawa kita telah tabbing set, apa yang berlaku seterusnya? 557 00:27:01,300 --> 00:27:02,550 Apa langkah seterusnya? 558 00:27:05,590 --> 00:27:08,870 ROB: Apa program kami harus lakukan adalah menukar huruf kecil kepada 559 00:27:08,870 --> 00:27:10,130 huruf besar huruf. 560 00:27:10,130 --> 00:27:15,478 Bagaimana jika saya berlaku untuk memasuki simbol hash? 561 00:27:15,478 --> 00:27:16,314 Adakah itu - 562 00:27:16,314 --> 00:27:16,732 ALI: Ia adalah simbol yang baik. 563 00:27:16,732 --> 00:27:18,270 Kami menggunakan ia banyak. 564 00:27:18,270 --> 00:27:21,937 ROB: Adakah itu satu perkara yang sah saya boleh menukar kepada bentuk huruf besar? 565 00:27:21,937 --> 00:27:23,070 SPEAKER 21: No. 566 00:27:23,070 --> 00:27:24,070 ALI: No. 567 00:27:24,070 --> 00:27:24,900 Kita harus pastikan bahawa. 568 00:27:24,900 --> 00:27:34,950 Supaya kita boleh mempunyai jika pernyataan memeriksa jadi jika c adalah lebih besar daripada 569 00:27:34,950 --> 00:27:37,410 atau sama A'huruf kecil '- 570 00:27:37,410 --> 00:27:45,490 jadi jika kita melihat carta, anda akan melihat bahawa ia telah menjadi antara sini, 571 00:27:45,490 --> 00:27:47,670 pada 97, dan huruf kecil a. 572 00:27:47,670 --> 00:27:52,110 Dan ia boleh mana-mana, dan secara berperingkat sepanjang jalan ke bawah. 573 00:27:52,110 --> 00:27:55,200 Dan kemudian ada z pada 122. 574 00:27:55,200 --> 00:27:58,215 Dan ia telah jatuh di antara kedua-dua nilai. 575 00:27:58,215 --> 00:27:59,700 Adakah yang masuk akal? 576 00:27:59,700 --> 00:28:04,130 ROB: Jadi jika c tidak adalah antara 97 dan 122 - 577 00:28:04,130 --> 00:28:09,960 atau anda tidak perlu perlu menggunakan nombor-nombor - jika c tidak adalah antara 'a' dan 578 00:28:09,960 --> 00:28:15,110 'Z,' maka ia bukan aksara yang sah untuk kita kepada huruf besar. 579 00:28:15,110 --> 00:28:18,590 ALI: Jadi dalam bentuk kod, kita katakan bahawa jika c adalah lebih besar daripada atau sama dengan tunggal 580 00:28:18,590 --> 00:28:19,640 huruf kecil kes - 581 00:28:19,640 --> 00:28:21,270 wow, bagaimana adakah anda mengatakan bahawa? 582 00:28:21,270 --> 00:28:26,900 Okay, adalah lebih besar atau sama dengan huruf kecil 'a', dan ia telah berada di atas 583 00:28:26,900 --> 00:28:32,250 huruf kecil 'z'. Jadi ia telah menjadi kurang daripada atau sama dengan huruf kecil 'z'. 584 00:28:32,250 --> 00:28:35,300 Kami membuat pasti ia antara kedua-dua. 585 00:28:35,300 --> 00:28:38,540 Kemudian kita boleh meneruskan dengan kod gembira kami. 586 00:28:41,992 --> 00:28:43,360 Apa? 587 00:28:43,360 --> 00:28:46,860 ROB: Jadi saya beranggapan kita hanya akan terus bertanya, jika kita berlaku untuk tidak mempunyai 588 00:28:46,860 --> 00:28:48,250 huruf kecil huruf. 589 00:28:48,250 --> 00:28:51,130 ALI: Oh, saya tidak sedar bahawa. 590 00:28:51,130 --> 00:28:52,820 Maaf. 591 00:28:52,820 --> 00:28:58,100 >> Okay, jadi jika kita hendak lakukan sebagai Rob berkata, dan memastikan bahawa - 592 00:28:58,100 --> 00:29:02,068 kita boleh terus bertanya mereka, maka apa yang kita harus lakukan? 593 00:29:02,068 --> 00:29:02,994 SPEAKER 22: [didengar] 594 00:29:02,994 --> 00:29:03,530 ROB: Ya. 595 00:29:03,530 --> 00:29:05,630 Kita perlu menggunakan beberapa jenis gelung. 596 00:29:05,630 --> 00:29:12,900 Kerana pengguna boleh memasukkan sesuatu yang tidak sah jumlah terperi kali. 597 00:29:12,900 --> 00:29:14,990 Jadi anda boleh menggunakan gelung sementara. 598 00:29:14,990 --> 00:29:18,870 Tujuan gelung do sementara - 599 00:29:18,870 --> 00:29:21,340 secara literal, masa sahaja dalam kehidupan keseluruhan anda anda pernah akan menggunakan do- 600 00:29:21,340 --> 00:29:24,780 manakala gelung adalah apabila anda meminta input pengguna. 601 00:29:24,780 --> 00:29:28,260 Jadi hakikat kita sedang meminta input pengguna di sini adalah satu petunjuk bahawa kita harus 602 00:29:28,260 --> 00:29:29,660 menggunakan gelung do sementara. 603 00:29:29,660 --> 00:29:30,780 Dan mengapa? 604 00:29:30,780 --> 00:29:34,270 Kerana do-gelung while sentiasa berlaku sekurang-kurangnya sekali. 605 00:29:34,270 --> 00:29:40,260 Jadi, apabila anda meminta input pengguna, anda mahu itu berlaku sekurang-kurangnya sekali. 606 00:29:40,260 --> 00:29:42,750 Dan kemudian jika perkara itu berjaya, anda boleh terus pergi. 607 00:29:42,750 --> 00:29:45,130 Jika tidak, kembali dan bertanya lagi. 608 00:29:45,130 --> 00:29:48,950 >> ALI: Jadi dalam erti kata lain, kita perlu untuk melakukan seksyen. 609 00:29:48,950 --> 00:29:51,130 Dan sebagainya ini memberitahu ia untuk melakukan sesuatu. 610 00:29:51,130 --> 00:29:53,890 Jadi printf - 611 00:29:53,890 --> 00:29:57,490 mencetak penyata, segera, dan juga mendapatkan watak, atau cubaan untuk 612 00:29:57,490 --> 00:29:58,780 mendapatkan watak. 613 00:29:58,780 --> 00:30:03,410 Dan kemudian kita perlu untuk memeriksa jika ia benar-benar melakukannya betul. 614 00:30:03,410 --> 00:30:07,730 Jadi maka kita menambah syarat-syarat, maka kita katakan sementara, dan maka kita mempunyai 615 00:30:07,730 --> 00:30:08,980 penyataan bersyarat. 616 00:30:11,600 --> 00:30:14,730 ROB: Tetapi sekarang kita telah diterbalikkan melatih pemikiran. 617 00:30:14,730 --> 00:30:18,940 Sekarang kita asalnya telah mengatakan jika c ialah dalam julat ini, ia adalah sah. 618 00:30:18,940 --> 00:30:23,340 Sekarang kita ingin untuk mengubah itu dan berkata jika c tidak adalah dalam julat ini, maka kita 619 00:30:23,340 --> 00:30:25,020 perlu kembali untuk melakukan perkara-perkara lagi. 620 00:30:25,020 --> 00:30:25,900 ALI: Oh, ya. 621 00:30:25,900 --> 00:30:31,720 ROB: Jadi selama ini tidak benar, kita mahu untuk kembali dan 622 00:30:31,720 --> 00:30:34,470 meminta watak lain. 623 00:30:34,470 --> 00:30:36,880 Adakah semua orang melihat bahawa? 624 00:30:36,880 --> 00:30:38,830 Soalan mengenai perkara ini? 625 00:30:38,830 --> 00:30:39,400 Okay. 626 00:30:39,400 --> 00:30:43,480 >> Jadi sekarang kita mempunyai watak yang sah bahawa kita boleh huruf besar. 627 00:30:43,480 --> 00:30:47,150 ALI: Jadi maka apa langkah seterusnya untuk uppercasing ia? 628 00:30:49,994 --> 00:30:51,890 SPEAKER 23: Tambah 32. 629 00:30:51,890 --> 00:30:52,600 ALI: Anda menambah - 630 00:30:52,600 --> 00:30:54,150 maaf, apa? 631 00:30:54,150 --> 00:30:56,580 SPEAKER 23: Bolehkah tidak anda hanya menambah 32? 632 00:30:56,580 --> 00:31:02,360 ROB: Jadi ya, tidak dari segi nombor sihir. 633 00:31:02,360 --> 00:31:04,610 Anda hanya perlu menggunakan barangan tunggal quote. 634 00:31:04,610 --> 00:31:06,450 SPEAKER 23: Okay, baik - 635 00:31:06,450 --> 00:31:07,250 Merompak: Tetapi anda boleh mendapatkan 32 - 636 00:31:07,250 --> 00:31:11,870 ALI: Bagaimana anda mendapat nombor 32, saya rasa, apa yang kita katakan. 637 00:31:11,870 --> 00:31:18,060 SPEAKER 23: [didengar] 638 00:31:18,060 --> 00:31:22,158 ROB: Jadi kita boleh datang dengan bilangan 32 bersama-sama - 639 00:31:22,158 --> 00:31:24,468 SPEAKER 23: [didengar]? 640 00:31:24,468 --> 00:31:24,930 ROB: Ya. 641 00:31:24,930 --> 00:31:28,540 Tetapi jika kita pergi untuk melakukannya dalam dua langkah yang kita lakukan sebelum ini dengan 642 00:31:28,540 --> 00:31:29,950 barangan kedudukan. 643 00:31:29,950 --> 00:31:36,910 Jadi kedudukan dalam abjad yang berlaku untuk menjadi c c tolak huruf kecil 644 00:31:36,910 --> 00:31:42,360 'A'. Jadi, jika kita memasuki huruf kecil 'd', kedudukan akan menjadi 3. 645 00:31:42,360 --> 00:31:46,490 Dan sekarang kita mahu mengambil perkara untuk julat huruf besar perkara. 646 00:31:46,490 --> 00:31:55,376 Jadi sekarang c baru kami akan menjadi kedudukan 'A' tambah modal. 647 00:31:55,376 --> 00:32:00,090 Jadi jangan orang melihat bagaimana yang membawa kita - 648 00:32:00,090 --> 00:32:04,140 kita sedang bergerak dari pelbagai huruf kecil, kedalaman sebenar kita ke 649 00:32:04,140 --> 00:32:07,650 pelbagai, dan akan turun ke dalam julat huruf besar, dan pergi yang jauh 650 00:32:07,650 --> 00:32:10,610 ke dalamnya lagi, yang akan menjadi watak yang sama, tetapi kini 651 00:32:10,610 --> 00:32:12,550 uppercased. 652 00:32:12,550 --> 00:32:16,490 ALI: Dan bagi orang-orang yang keliru dengan bagaimana dia hanya berkata 32, 653 00:32:16,490 --> 00:32:20,390 pada dasarnya dia menggabungkan kedua-dua ini ke dalam satu kenyataan. 654 00:32:20,390 --> 00:32:24,550 Jadi cara yang bersamaan menulis ini untuk mengatakan anda boleh hanya jenis 655 00:32:24,550 --> 00:32:28,190 kedudukan pengganti, c tolak ',' dan meletakkan ia di sini. 656 00:32:28,190 --> 00:32:31,330 Jadi apa yang dia lakukan, saya Don 't - 657 00:32:31,330 --> 00:32:44,510 char NEWC = huruf besar c plus 'A' tolak huruf kecil 'a'. Dan kerana algebra, 658 00:32:44,510 --> 00:32:47,090 anda boleh bergerak mereka di sekitar. 659 00:32:47,090 --> 00:32:52,960 Anda juga boleh mengatakan bahawa anda boleh bergerak di sekeliling begitu char NEWC = huruf besar 'A' 660 00:32:52,960 --> 00:32:55,620 tolak huruf kecil 'a' plus c. 661 00:32:55,620 --> 00:32:58,650 Dan ini, anda akan notis jika kita kembali kepada carta. 662 00:33:01,160 --> 00:33:06,300 Kami mempunyai huruf besar A ialah 65 dan huruf kecil a adalah 97. 663 00:33:06,300 --> 00:33:09,800 Jadi 65-97 adalah -32. 664 00:33:09,800 --> 00:33:10,020 >> Hi. 665 00:33:10,020 --> 00:33:10,930 Ambil tempat duduk. 666 00:33:10,930 --> 00:33:12,180 Oh. 667 00:33:16,240 --> 00:33:17,980 Anda boleh duduk di sini. 668 00:33:17,980 --> 00:33:20,805 Sejuk, okay, hebat. 669 00:33:20,805 --> 00:33:22,390 Selamat datang ke bahagian. 670 00:33:22,390 --> 00:33:25,110 Anda akan melihat bahawa perbezaan ialah 32. 671 00:33:25,110 --> 00:33:28,150 Jadi itulah di mana beliau mendapat nombor itu. 672 00:33:28,150 --> 00:33:32,140 Tetapi ia tidak, sebagai Rob berkata, cara terbaik untuk melakukannya, kerana ia mempunyai pelik 673 00:33:32,140 --> 00:33:35,260 kekeliruan nombor yang sihir. 674 00:33:35,260 --> 00:33:38,710 ROB: Anda perlu menggunakan modal tolak huruf kecil a. 675 00:33:38,710 --> 00:33:43,045 Anda tidak perlu menggunakan hanya lurus 32. 676 00:33:43,045 --> 00:33:45,020 SPEAKER 24: Mengapa, sekali lagi? 677 00:33:45,020 --> 00:33:49,860 Mengapa anda tidak menggunakan 32? 678 00:33:49,860 --> 00:33:55,630 ALI: Jika kita lakukan, ia akan menjadi char NEWC = -32 + c. 679 00:33:55,630 --> 00:34:00,030 Dan jika anda tidak melihat mana-mana sepanjang ia, jika ini semua ini tiada, dan anda 680 00:34:00,030 --> 00:34:04,720 hanya melihat ini selaras tunggal, maka bagaimana anda tahu apa 32 negatif? 681 00:34:04,720 --> 00:34:07,000 Ia hanya keluar dari tempat. 682 00:34:07,000 --> 00:34:10,360 ROB: Jadi program anda akan bekerja benar-benar halus. 683 00:34:10,360 --> 00:34:12,960 Ia hanya satu perkara yang gaya. 684 00:34:12,960 --> 00:34:17,760 Seseorang masuk dan membaca kod anda, mereka seperti apakah 32 bermakna? 685 00:34:17,760 --> 00:34:18,889 Mungkin mereka Don 't - 686 00:34:18,889 --> 00:34:22,090 Saya mungkin tidak akan segera menyedari bahawa 32 berlaku untuk menjadi 687 00:34:22,090 --> 00:34:25,100 perbezaan antara huruf kecil dan huruf besar, walaupun 688 00:34:25,100 --> 00:34:26,510 kita akan menggunakan hakikat bahawa dalam masalah seterusnya. 689 00:34:30,210 --> 00:34:31,610 32 ialah - 690 00:34:31,610 --> 00:34:38,579 anda boleh meninggalkan komen atas ia mengatakan 32 adalah perbezaan di antara 691 00:34:38,579 --> 00:34:45,290 'A' dan 'a'. Tetapi pada ketika itu, mengapa tidak hanya menggunakan 'A' dan '', dan anda 692 00:34:45,290 --> 00:34:47,469 tidak perlu komen kemudian. 693 00:34:47,469 --> 00:34:52,739 >> ALI: Ia hanya cara di atas adalah pembersih banyak, gaya-bijak. 694 00:34:52,739 --> 00:34:54,590 Dan sebagainya, kerana anda baru bermula pengaturcaraan - 695 00:34:54,590 --> 00:34:57,775 atau saya tidak rasa, kerana anda EDI penggodam - tidak pernah minda. 696 00:34:57,775 --> 00:34:59,420 Ia hanya satu cara yang baik untuk mempunyai - 697 00:34:59,420 --> 00:35:01,230 ia adalah lebih baik untuk mempunyai gaya yang lebih baik. 698 00:35:01,230 --> 00:35:02,850 Ia adalah lebih mudah bagi orang lain untuk membaca. 699 00:35:02,850 --> 00:35:06,560 ROB: Anda tidak perlu perlu ingat jadual ASCII, pernah. 700 00:35:06,560 --> 00:35:09,505 Anda hanya perlu dapat menggunakan watak-watak quote tunggal. 701 00:35:12,390 --> 00:35:12,730 Soalan? 702 00:35:12,730 --> 00:35:13,980 ALI: Setiap orang yang baik? 703 00:35:16,020 --> 00:35:16,430 ROB: Okay. 704 00:35:16,430 --> 00:35:23,320 Jadi masalah seterusnya adalah besar. 705 00:35:23,320 --> 00:35:24,660 Jadi masalah seterusnya meminta kita - 706 00:35:27,880 --> 00:35:31,570 ALI: Masalah seterusnya meminta kita untuk melakukan perkara yang sama tetapi untuk menggunakan 707 00:35:31,570 --> 00:35:32,640 bitwise pengendali. 708 00:35:32,640 --> 00:35:35,170 ROB: Dan sudah tentu, kita telah tidak dilihat pengendali bitwise lagi. 709 00:35:35,170 --> 00:35:38,874 Jadi sekarang kita akan membincangkan mereka. 710 00:35:38,874 --> 00:35:39,540 ALI: Akan teruja. 711 00:35:39,540 --> 00:35:41,490 Mereka menyeronokkan super. 712 00:35:41,490 --> 00:35:47,927 >> ROB: Jadi pengendali tetap, seperti x campur y, tolak, kali, jurang. 713 00:35:47,927 --> 00:35:50,850 ALI: Taip dalam ini segera. 714 00:35:50,850 --> 00:35:55,420 Merompak: Terdapat juga%, jika anda tidak pernah melihat ia, yang anda boleh gunakan oleh 715 00:35:55,420 --> 00:35:57,130 peratus simbol. 716 00:35:57,130 --> 00:35:59,090 Tetapi kita tidak akan menggunakan mereka untuk masalah ini. 717 00:35:59,090 --> 00:36:01,400 Kami mahu menggunakan pengendali bitwise. 718 00:36:01,400 --> 00:36:06,250 Sekarang ingat, kita membawa ia sehingga dalam satu kuliah. 719 00:36:06,250 --> 00:36:10,760 Saya tidak pasti jika kita telah dibincangkan binari lebih dari itu. 720 00:36:10,760 --> 00:36:13,710 Tetapi ingat bahawa setiap nombor tunggal diwakili - 721 00:36:13,710 --> 00:36:14,540 baik, segala-galanya - 722 00:36:14,540 --> 00:36:17,860 diwakili dalam 1s dan 0s dalam perduaan. 723 00:36:17,860 --> 00:36:27,320 Supaya bermakna bahawa apabila saya mengatakan bilangan 8, saya berlaku untuk mengetahui bahawa itu 724 00:36:27,320 --> 00:36:30,240 seperti, 1000. 725 00:36:30,240 --> 00:36:35,530 Pengendali bitwise Apa marilah kita lakukan adalah beroperasi atas bit - 726 00:36:35,530 --> 00:36:37,000 beroperasi pada bit ini terus. 727 00:36:40,160 --> 00:36:42,490 Kini saya tidak lagi berurusan dalam segi lapan. 728 00:36:42,490 --> 00:36:45,930 Saya berurusan dari segi sebanyak 1000, dan saya mahu melakukan perkara-perkara bersama-sama orang-orang 729 00:36:45,930 --> 00:36:47,670 bit individu. 730 00:36:47,670 --> 00:36:52,520 Jadi Ali telah ditulis pengendali bitwise di sini, tetapi that's - 731 00:36:55,060 --> 00:36:58,020 Bilangan 8 kita akan digunakan sebagai satu nombor contoh kami. 732 00:36:58,020 --> 00:37:02,980 Dan perwakilan binari adalah 1000. 733 00:37:02,980 --> 00:37:06,520 Kami akan menggunakan nombor lain, 5 - 734 00:37:06,520 --> 00:37:12,070 sebenarnya mari kita gunakan 9 dan 5. 735 00:37:12,070 --> 00:37:15,778 Dan perwakilan binari 5 dengan 00 - 736 00:37:15,778 --> 00:37:18,380 0101. 737 00:37:18,380 --> 00:37:19,480 ALI: Apakah semua orang yang baik pada itu? 738 00:37:19,480 --> 00:37:21,040 Barangan binari? 739 00:37:21,040 --> 00:37:23,740 Ia adalah dari kuliah pertama? 740 00:37:23,740 --> 00:37:29,070 >> ROB: Jadi, walaupun anda tidak sepenuhnya di atas bagaimana untuk menukar perkara yang perlu 741 00:37:29,070 --> 00:37:31,700 perduaan, yang tidak sepenuhnya penting bagi masalah ini. 742 00:37:31,700 --> 00:37:36,560 Kami akan menggunakan ia, tetapi anda akan mempunyai lebih banyak peluang untuk memikirkan bagaimana untuk 743 00:37:36,560 --> 00:37:39,250 cepat mengubah keadaan ke binari. 744 00:37:39,250 --> 00:37:43,820 Jadi menggunakan 9 dan 5, sekarang kita mempunyai pengendali bitwise kami. 745 00:37:43,820 --> 00:37:48,620 Oh, dan juga, 9 dan 5, jika ia integer, maka benar-benar ia adalah 32 bit, 746 00:37:48,620 --> 00:37:53,150 yang bermakna kita mempunyai seperti 0, 0, 0, 0 banyak kali, maka 747 00:37:53,150 --> 00:37:55,330 101 pada akhir sangat. 748 00:37:55,330 --> 00:37:58,530 Itu hanya kerana, tidak kira apa yang kamu lakukan, dalam integer, 32-bit. 749 00:37:58,530 --> 00:38:01,570 Hanya kerana kita hanya perlu empat bit untuk mewakili 9 tidak bermakna kita tidak 750 00:38:01,570 --> 00:38:05,500 menggunakan lain 27 bit hanya 0. 751 00:38:05,500 --> 00:38:10,110 ALI: Hanya untuk menjelaskan, salah satu daripada nombor-nombor yang adalah 0 atau 1 adalah sedikit. 752 00:38:10,110 --> 00:38:11,830 Satu ini adalah 4 bit. 753 00:38:11,830 --> 00:38:14,320 Sebagaimana Rob berkata bahawa mesin menyimpan mereka dalam 32. 754 00:38:14,320 --> 00:38:19,430 Jadi maka mereka akan mempunyai 32 sama ada 0 atau 1. 755 00:38:19,430 --> 00:38:22,190 Sejuk? 756 00:38:22,190 --> 00:38:23,610 ROB: bitwise pengendali. 757 00:38:23,610 --> 00:38:27,310 Yang pertama yang kita akan berurusan dengan, mari kita buat &. 758 00:38:27,310 --> 00:38:31,260 Jadi, jika kita lakukan 9 & 5. 759 00:38:31,260 --> 00:38:38,310 Jadi apa & tidak, sedikit demi sedikit, ia membandingkan bit dua nombor 760 00:38:38,310 --> 00:38:44,860 dan jika kedua-dua nombor adalah 1, maka ia akan kembali 1. 761 00:38:44,860 --> 00:38:50,870 Jika seseorang adalah 0 dan yang lain adalah 1, atau kedua-duanya adalah 0, maka ia mengembalikan 0. 762 00:38:50,870 --> 00:38:53,060 Jadi, anda boleh berfikir ia sebagai AND logik anda. 763 00:38:53,060 --> 00:38:59,270 Seperti anda perlu benar dan benar untuk kembali benar, tetapi yang benar dan palsu adalah palsu. 764 00:38:59,270 --> 00:39:02,390 Jadi ia adalah perkara yang sama, tetapi sekarang kita sedang berurusan dengan ia dengan hanya bit. 765 00:39:02,390 --> 00:39:04,910 >> ALI: Jadi jika anda melihat ini, anda akan mempunyai 1 - 766 00:39:04,910 --> 00:39:08,490 anda akan beratur mereka, jadi ia akan menjadi 1 dan 0. 767 00:39:08,490 --> 00:39:11,036 Adakah anda semua berfikir bahawa akan menjadi - apa yang akan menilai? 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 Atau tidak. 771 00:39:16,850 --> 00:39:18,830 Maaf. 772 00:39:18,830 --> 00:39:21,290 Begitu juga yang masuk akal? 773 00:39:21,290 --> 00:39:23,200 Jadi apakah jawapan kolektif lagi? 774 00:39:23,200 --> 00:39:24,750 Maaf. 775 00:39:24,750 --> 00:39:27,530 Jadi, jika kita mempunyai 1 dan 0, maka apa yang anda dapat? 776 00:39:27,530 --> 00:39:30,260 ROB: Jadi anda berfikir bagaimana anda katakan dan keluar kuat. 777 00:39:30,260 --> 00:39:37,550 Jika anda mempunyai dua bit, x dan y, anda perlu x dan y menjadi 1 supaya ia 778 00:39:37,550 --> 00:39:40,770 untuk menilai benar atau, dalam usaha untuk ia untuk menilai kepada 1. 779 00:39:40,770 --> 00:39:45,650 Jika x atau y 0, maka ia menilai ke palsu atau 0. 780 00:39:45,650 --> 00:39:49,165 Lucas: Ia baik untuk ingat juga bahawa 1 adalah benar dan 0 adalah palsu. 781 00:39:49,165 --> 00:39:51,684 Jadi jika anda mempunyai benar dan palsu, ia adalah palsu. 782 00:39:51,684 --> 00:39:53,570 Tetapi kemudian, benar dan benar, benar. 783 00:39:53,570 --> 00:39:55,040 Palsu & palsu, palsu. 784 00:39:55,040 --> 00:39:57,650 ALI: Kami mempunyai benar & palsu. 785 00:39:57,650 --> 00:39:58,530 Jadi 1 dan 0. 786 00:39:58,530 --> 00:40:00,380 Jadi sekali lagi, maaf, sekali lagi? 787 00:40:00,380 --> 00:40:02,210 SPEAKER 25: Ia akan menjadi 0. 788 00:40:02,210 --> 00:40:03,560 Ya, sejuk. 789 00:40:03,560 --> 00:40:05,400 Dan kemudian kita mempunyai 0 & 1 - 790 00:40:05,400 --> 00:40:06,260 SPEAKER 25: [didengar] 791 00:40:06,260 --> 00:40:06,680 ALI: Ya. 792 00:40:06,680 --> 00:40:09,790 Jadi, anda sentiasa boleh menukar mereka - 793 00:40:09,790 --> 00:40:12,150 Kemudian jika anda mempunyai 0 dan 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: Jadi ia adalah 0. 797 00:40:16,230 --> 00:40:18,870 Ia tidak bahawa kedua-dua nombor mempunyai untuk menjadi sama. 798 00:40:18,870 --> 00:40:22,030 Ia adalah bahawa kedua-dua nombor perlu 1. 799 00:40:22,030 --> 00:40:26,150 ALI: Jadi kedua-dua perlu benar ia adalah benar. 800 00:40:26,150 --> 00:40:26,950 Jadi itulah 0. 801 00:40:26,950 --> 00:40:30,540 Dan kemudian anda mempunyai 1% 1, iaitu? 802 00:40:30,540 --> 00:40:32,640 ROB: Ini adalah nombor yang cukup baik. 803 00:40:32,640 --> 00:40:34,362 Mereka mempunyai semua mungkin - 804 00:40:34,362 --> 00:40:36,210 ALI: kerja Baik, wow. 805 00:40:36,210 --> 00:40:37,080 Okay, sejuk. 806 00:40:37,080 --> 00:40:39,220 Begitu juga yang masuk akal untuk semua orang? 807 00:40:39,220 --> 00:40:41,770 >> ROB: Jadi sekarang kita akan melakukan |. 808 00:40:41,770 --> 00:40:51,650 Dan ini akan menjadi sangat serupa, tetapi kini bukannya x dan y perlu 809 00:40:51,650 --> 00:40:54,880 menjadi 1 dalam usaha untuk ia untuk menilai kepada satu, kini ia hanya x atau 810 00:40:54,880 --> 00:40:56,360 y perlu menjadi 1. 811 00:40:56,360 --> 00:40:59,580 ALI: Jadi 1 | 0 menilai - 812 00:40:59,580 --> 00:41:00,270 KELAS: 1. 813 00:41:00,270 --> 00:41:01,690 ALI: Cool. 814 00:41:01,690 --> 00:41:03,710 0 | 1 menilai - 815 00:41:03,710 --> 00:41:04,420 KELAS: 1. 816 00:41:04,420 --> 00:41:06,726 ALI: Cool, dan kemudian 0 | 0 - 817 00:41:06,726 --> 00:41:07,600 KELAS: 0. 818 00:41:07,600 --> 00:41:09,320 ALI: Ya, dan kemudian 1 | 1 - 819 00:41:09,320 --> 00:41:10,180 KELAS: 1. 820 00:41:10,180 --> 00:41:12,090 ALI: Cool. 821 00:41:12,090 --> 00:41:14,060 Jadi itulah seperti dua bitwise pengendali. 822 00:41:14,060 --> 00:41:15,430 Menggerunkan. 823 00:41:15,430 --> 00:41:16,440 ROB: Jadi sekarang kita akan lakukan ^. 824 00:41:16,440 --> 00:41:18,470 ALI: Sekiranya kita melakukan semua daripada mereka? 825 00:41:18,470 --> 00:41:20,620 ROB: Ya, kerana saya fikir kita akan menggunakannya - 826 00:41:20,620 --> 00:41:22,340 menggunakan mereka semua. 827 00:41:22,340 --> 00:41:23,150 ALI: Okay. 828 00:41:23,150 --> 00:41:23,570 Jadi - 829 00:41:23,570 --> 00:41:25,540 ROB: Saya rasa kita tidak perlu. 830 00:41:25,540 --> 00:41:31,830 ALI: Jadi ^ kerja-kerja yang anda perlu mempunyai betul-betul satu benar dan yang palsu. 831 00:41:31,830 --> 00:41:34,330 ^ Bermakna eksklusif ATAU. 832 00:41:34,330 --> 00:41:36,650 Jadi sekarang ia tidak - 833 00:41:36,650 --> 00:41:41,220 jika x dan y adalah 1 kedua-dua, kini ia palsu. 834 00:41:41,220 --> 00:41:46,920 Itu adalah perbezaan antara ^ dan |, adalah bahawa ATAU, anda boleh mempunyai, jika x ialah 835 00:41:46,920 --> 00:41:49,440 benar atau y adalah benar, maka kami baik. 836 00:41:49,440 --> 00:41:55,176 Tidak, ^ mengatakan jika x adalah benar, y mesti palsu, atau lain ia tidak benar. 837 00:41:55,176 --> 00:41:56,814 Adakah anda mempunyai soalan? 838 00:41:56,814 --> 00:42:00,526 >> SPEAKER 26: [didengar] 839 00:42:00,526 --> 00:42:00,990 ALI: Ya. 840 00:42:00,990 --> 00:42:01,830 Ia adalah jenis yang sama. 841 00:42:01,830 --> 00:42:07,320 ROB: Ya, jadi apabila anda mendapat bahawa barangan perkakasan tahap rendah, ini adalah 842 00:42:07,320 --> 00:42:10,870 jenis operasi anda berurusan dengan. 843 00:42:10,870 --> 00:42:13,200 Pada peringkat perkakasan, anda hanya akan berurusan dengan bit. 844 00:42:13,200 --> 00:42:14,950 Anda tidak berurusan dengan nombor. 845 00:42:18,030 --> 00:42:23,502 ALI: Okay, ^, atau jika anda mempunyai 1 ^ 0, apa yang perlu menilai? 846 00:42:23,502 --> 00:42:24,840 KELAS: 1. 847 00:42:24,840 --> 00:42:25,480 ALI: Cool. 848 00:42:25,480 --> 00:42:26,010 Jika anda mempunyai 849 00:42:26,010 --> 00:42:28,370 0 ^ 1? KELAS: 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 Sejuk. 853 00:42:32,470 --> 00:42:33,460 Dan kemudian 1 ^ 1? 854 00:42:33,460 --> 00:42:35,050 KELAS: 0. 855 00:42:35,050 --> 00:42:37,710 ALI: Cool, hebat. 856 00:42:37,710 --> 00:42:38,620 Yang seterusnya - 857 00:42:38,620 --> 00:42:40,520 ROB: Saya fikir ini adalah semua yang kita perlu berurusan dengan. 858 00:42:40,520 --> 00:42:41,490 Kami hanya akan melakukan ini. 859 00:42:41,490 --> 00:42:43,242 ALI: Satu-satunya masa kita akan perlu lakukan - 860 00:42:43,242 --> 00:42:44,912 ROB: Oh, yang akan menjadi bagi masalah terakhir. 861 00:42:44,912 --> 00:42:47,070 SPEAKER 27: Tunggu, sekali lagi? 862 00:42:47,070 --> 00:42:47,940 ALI: Maaf, apa soalan anda? 863 00:42:47,940 --> 00:42:49,564 >> SPEAKER 27: Bolehkah anda menjelaskan bahawa sekali lagi? 864 00:42:49,564 --> 00:42:50,100 ^? 865 00:42:50,100 --> 00:42:51,490 SPEAKER 27: Exclus - yeah. 866 00:42:51,490 --> 00:42:55,800 ALI: Jadi apa yang adalah eksklusif ATAU bermakna bahawa perlu ada eksklusif 867 00:42:55,800 --> 00:43:02,970 satu yang benar dan satu palsu, jadi satu 1 dan satu 0, berbanding dengan ATAU, anda boleh mempunyai - 868 00:43:02,970 --> 00:43:06,170 salah seorang daripada mereka untuk menjadi kenyataan, atau kedua-duanya boleh menjadi benar, kerana ia 869 00:43:06,170 --> 00:43:07,130 untuk menilai kepada true. 870 00:43:07,130 --> 00:43:10,030 SPEAKER 27: Jadi 0 dan 0 akan menjadi palsu. 871 00:43:10,030 --> 00:43:10,450 ALI: Ya. 872 00:43:10,450 --> 00:43:11,780 Tetapi jika anda mempunyai 1 | 873 00:43:11,780 --> 00:43:14,290 1, yang akan menilai benar. 874 00:43:14,290 --> 00:43:18,210 Tetapi jika anda mempunyai 1 ^ 1, seperti yang kita lakukan, yang menilai palsu. 875 00:43:18,210 --> 00:43:21,220 Kerana ia bukan semata-mata seseorang itu adalah benar. 876 00:43:21,220 --> 00:43:26,930 ROB: Dan ini mungkin atau tidak mungkin membantu, tetapi notis bahawa adalah ^ 877 00:43:26,930 --> 00:43:28,890 bersamaan dengan hanya mengambil keluar | 878 00:43:28,890 --> 00:43:30,290 tolak & 879 00:43:30,290 --> 00:43:32,250 Dan anda sebenarnya boleh berfikir ia cara ini. 880 00:43:32,250 --> 00:43:37,290 ^ Hanya ORing semua bersama-sama tetapi mengambil keluar mana-mana bit di mana 881 00:43:37,290 --> 00:43:38,610 kedua-duanya adalah benar. 882 00:43:38,610 --> 00:43:41,620 Jadi & mengembalikan segala-galanya di mana kedua-duanya adalah benar. 883 00:43:41,620 --> 00:43:45,850 | Mengembalikan segala-galanya di mana satu atau kedua-duanya adalah benar. 884 00:43:45,850 --> 00:43:51,050 Jadi menolak bahawa dari | memberikan anda ^. 885 00:43:51,050 --> 00:43:52,040 ALI: Sebarang soalan? 886 00:43:52,040 --> 00:43:53,290 Ini adalah banyak maklumat. 887 00:43:55,980 --> 00:43:57,510 Setiap orang yang baik? 888 00:43:57,510 --> 00:44:00,360 >> ROB: Kita boleh pergi ke atas orang-orang yang datang untuk masalah seterusnya, mengurangkan 889 00:44:00,360 --> 00:44:01,680 apa masa ia? 890 00:44:01,680 --> 00:44:04,010 Mereka tidak perlu ini sehingga masalah seterusnya. 891 00:44:04,010 --> 00:44:07,830 ALI: Saya fikir ia adalah satu ini. 892 00:44:07,830 --> 00:44:08,830 ROB: Ia tidak. 893 00:44:08,830 --> 00:44:10,085 ALI: Adakah anda pasti? 894 00:44:10,085 --> 00:44:11,300 ROB: Ya, saya positif. 895 00:44:11,300 --> 00:44:12,970 ALI: Mengapa tidak kita mula melakukan masalah seterusnya? 896 00:44:15,710 --> 00:44:19,790 Masalahnya ialah, sekali lagi, untuk menukar daripada huruf kecil kepada huruf besar, dan ini 897 00:44:19,790 --> 00:44:21,720 masa menggunakan pengendali bitwise. 898 00:44:21,720 --> 00:44:22,970 ROB: Jadi kita akan - 899 00:44:25,290 --> 00:44:29,670 mari kita mulakan dengan perwakilan perduaan 'A', modal 'A', 900 00:44:29,670 --> 00:44:31,750 yang ialah 65. 901 00:44:31,750 --> 00:44:36,150 Jadi dalam binari - 902 00:44:39,960 --> 00:44:47,900 jadi 'A' = 65, yang =, dalam binari - 903 00:44:47,900 --> 00:44:51,380 Saya akan kucar-kacir sehingga bilangan 0 -. 904 00:44:51,380 --> 00:44:53,670 ALI: Jadi adakah itu masuk akal untuk semua orang? 905 00:44:53,670 --> 00:44:57,620 Jadi, 1, tidak 2s, tiada 4s, 8s tiada, tiada - 906 00:45:00,238 --> 00:45:07,075 tiada 16, 32S tidak, dan kemudian satu 64. 907 00:45:07,075 --> 00:45:08,685 ROB: Ya, saya fikir itulah salah 0s terlalu banyak. 908 00:45:08,685 --> 00:45:09,600 ALI: Maaf. 909 00:45:09,600 --> 00:45:13,410 >> ROB: Okay, jadi kita mempunyai set 64, dan kita mempunyai set 1, dan menggabungkan mereka 910 00:45:13,410 --> 00:45:16,030 bersama-sama, kita akan mendapat 65. 911 00:45:16,030 --> 00:45:17,470 ALI: kacang Cool? 912 00:45:17,470 --> 00:45:19,640 ROB: Jadi sekarang, huruf kecil 'A'- 913 00:45:22,220 --> 00:45:24,260 notis 97 - 914 00:45:24,260 --> 00:45:26,370 apakah perbezaan di antara 97 dan 65? 915 00:45:26,370 --> 00:45:27,530 SPEAKER 28: 32. 916 00:45:27,530 --> 00:45:28,130 ROB: Ya. 917 00:45:28,130 --> 00:45:35,920 Jadi ia adalah 32, yang agak sendiri, supaya akan menjadi 110001. 918 00:45:35,920 --> 00:45:41,200 Dan ini akan menjadi benar untuk semua watak-watak yang mungkin. 919 00:45:41,200 --> 00:45:49,800 Jadi, jika kita berfikir 'D', yang akan menjadi 68, yang akan menjadi 1000011. 920 00:45:49,800 --> 00:45:56,310 Dan kemudian huruf kecil 'd' akan menjadi 68 ditambah 32, yang 100, yang merupakan 921 00:45:56,310 --> 00:46:00,010 akan menjadi perkara yang sama bahawa ini adalah, hanya Melibas 922 00:46:00,010 --> 00:46:04,300 32 lagi, jadi 1100011. 923 00:46:04,300 --> 00:46:08,610 Jadi perbezaan antara huruf besar dan huruf kecil hanya Melibas 924 00:46:08,610 --> 00:46:10,170 bahawa kedudukan 32-bit. 925 00:46:10,170 --> 00:46:17,670 SPEAKER 29: Adakah ia tidak 1000100? 926 00:46:17,670 --> 00:46:19,670 ROB: Tunggu, ianya adalah 100 - 927 00:46:19,670 --> 00:46:20,480 sesuatu yang saya lakukan salah. 928 00:46:20,480 --> 00:46:21,730 Ini tidak benar. 929 00:46:28,710 --> 00:46:31,150 Saya berfikir bahawa ia adalah satu perbezaan 3, jadi maka saya hanya terperangkap 930 00:46:31,150 --> 00:46:33,970 binari 3 di akhir. 931 00:46:33,970 --> 00:46:36,710 Ini harus menjadi betul. 932 00:46:36,710 --> 00:46:37,150 ALI: Terima kasih. 933 00:46:37,150 --> 00:46:38,080 Baik untuk menunjuk yang keluar. 934 00:46:38,080 --> 00:46:40,320 Itu adalah tajam. 935 00:46:40,320 --> 00:46:43,450 Baiklah, yang jelas kepada rakyat? 936 00:46:43,450 --> 00:46:45,700 >> ROB: perbezaan antara versi huruf besar dan huruf kecil 937 00:46:45,700 --> 00:46:49,250 sentiasa hanya akan menjadi 32, dan jadi ia sentiasa akan menjadi sedikit tunggal 938 00:46:49,250 --> 00:46:51,840 yang perlu dibalik untuk menukar antara kedua-dua. 939 00:46:51,840 --> 00:46:54,330 ALI: Jadi dalam hal itu, mengetahui perbezaan antara modal dan 940 00:46:54,330 --> 00:46:57,130 yang kecil adalah satu perkara yang baik. 941 00:46:57,130 --> 00:47:01,950 Bukan dalam kod anda, tetapi konsep sekurang-kurangnya, ia adalah baik. 942 00:47:01,950 --> 00:47:05,880 Jadi anda semua boleh pergi ke hadapan dan kod yang di Ruang sekarang. 943 00:47:05,880 --> 00:47:08,580 Atau kita hanya berbincang? 944 00:47:08,580 --> 00:47:09,760 ROB: Kami hanya boleh berbincang. 945 00:47:09,760 --> 00:47:10,680 Saya tidak tahu. 946 00:47:10,680 --> 00:47:11,680 Kalian boleh cuba. 947 00:47:11,680 --> 00:47:13,560 Bercakap di kalangan diri untuk sedikit. 948 00:47:13,560 --> 00:47:16,390 Kami akan memberikan anda peluang kod. 949 00:47:16,390 --> 00:47:17,640 [INTERPOSING suara] 950 00:47:19,785 --> 00:47:22,695 ALI: - sejuk 951 00:47:22,695 --> 00:47:26,590 SPEAKER 30: Ini adalah seperti komedi penggodam. 952 00:47:26,590 --> 00:47:31,060 ALI: Ya, kami hanya memberitahu berita, akan melaluinya. 953 00:47:31,060 --> 00:47:32,310 >> Merompak: Dan kami kembali. 954 00:47:34,950 --> 00:47:35,405 ALI: Itulah jenis pelik. 955 00:47:35,405 --> 00:47:38,720 Saya rasa seperti kita harus mempunyai sebuah stesen berita CS50 dan kita boleh 956 00:47:38,720 --> 00:47:41,500 sebenarnya duduk seperti ini. 957 00:47:41,500 --> 00:47:43,500 ROB: Berita Hacker. 958 00:47:43,500 --> 00:47:46,848 ALI: Berita Hacker 50. 959 00:47:46,848 --> 00:47:49,210 ALI: Rasa bebas untuk bertanya apa-apa soalan jika anda keliru. 960 00:47:52,280 --> 00:47:53,980 ROB: Adakah sesiapa yang terperangkap? 961 00:47:53,980 --> 00:47:57,160 ALI: Ya, itu satu perkara yang baik. 962 00:47:57,160 --> 00:47:58,590 ALI: Tunggu, anda terperangkap di kerusi anda? 963 00:47:58,590 --> 00:48:01,010 Oh. 964 00:48:01,010 --> 00:48:02,260 Saya adalah sedikit berkenaan. 965 00:48:06,670 --> 00:48:12,150 ROB: Kerana saya hanya menyedari bahawa kita akan mahu 966 00:48:12,150 --> 00:48:13,300 seorang pengendali bitwise. 967 00:48:13,300 --> 00:48:16,985 Untuk sekarang, mari kita hanya menukar huruf besar kepada huruf kecil. 968 00:48:23,280 --> 00:48:25,220 ALI: Maaf, adakah semua orang mendapatkan pengumuman bahawa? 969 00:48:25,220 --> 00:48:27,755 Kami akan pergi dari huruf besar kepada huruf kecil. 970 00:48:27,755 --> 00:48:30,990 ROB: Kemudian kita akan membincangkan huruf kecil kepada huruf besar kanan selepas itu. 971 00:48:33,820 --> 00:48:36,650 Oh, tidak. 972 00:48:36,650 --> 00:48:39,560 Kami mempunyai pepijat dalam hal ini, yang mana, saya rasa, kita tidak pernah cuba untuk menjalankan. 973 00:48:39,560 --> 00:48:44,140 Yang hanya merupakan char c perlu diisytiharkan di luar gelung, kerana 974 00:48:44,140 --> 00:48:45,805 skop terhad dalam gelung. 975 00:48:49,200 --> 00:48:53,060 SPEAKER 32: Dalam kes ini, adalah salah untuk menggunakan nombor? 976 00:48:53,060 --> 00:48:56,930 ROB: Eh, anda tidak perlu. 977 00:48:56,930 --> 00:49:02,040 Jika saya menjamin anda bahawa modal 'A'- atau, huruf kecil' a 'modal tolak' A ' 978 00:49:02,040 --> 00:49:09,340 adalah betul-betul satu bit, tetapi anda tidak tahu 32 ia - 979 00:49:09,340 --> 00:49:13,160 perkara akan bekerja sama dengan baik jika ia adalah 16 bit yang telah dibalik - atau 980 00:49:13,160 --> 00:49:14,610 tidak, saya rasa ia wouldn't - 981 00:49:14,610 --> 00:49:18,270 atau 64 bit dibalik, mungkin. 982 00:49:18,270 --> 00:49:23,230 Tetapi anda tidak perlu untuk menggunakan 32. 983 00:49:23,230 --> 00:49:26,141 Anda sebaliknya boleh menggunakan huruf kecil 'A' '' modal tolak. 984 00:49:26,141 --> 00:49:29,340 >> SPEAKER 32: Okay. 985 00:49:29,340 --> 00:49:32,996 Apa yang boleh anda lakukan jika anda berasa seperti anda menulis terlalu banyak adalah anda boleh menentukan ia 986 00:49:32,996 --> 00:49:33,435 di atas. 987 00:49:33,435 --> 00:49:41,830 Jadi, anda boleh menjadi seperti, perbezaan int = huruf kecil 'A' '' modal tolak. Dan 988 00:49:41,830 --> 00:49:43,980 maka anda boleh menaip perbezaan sebaliknya. 989 00:49:43,980 --> 00:49:45,110 Itulah yang sah. 990 00:49:45,110 --> 00:49:48,002 Tetapi hanya menggunakan nombor 32 adalah jenis - 991 00:49:48,002 --> 00:49:51,104 SPEAKER 33: Walaupun ia adalah kerana fakta bahawa ia adalah sedikit 32? 992 00:49:51,104 --> 00:49:52,570 ALI: Ya. 993 00:49:52,570 --> 00:49:54,960 ROB: Mungkin ada - 994 00:49:54,960 --> 00:49:57,780 satunya jaminan kita perlu untuk membuat anda adalah bahawa perbezaan antara 995 00:49:57,780 --> 00:49:59,480 huruf kecil dan huruf besar adalah satu bit. 996 00:49:59,480 --> 00:50:04,670 Ia tidak seharusnya perkara yang ia berlaku untuk menjadi sedikit 32 itu dibalik. 997 00:50:04,670 --> 00:50:06,610 Untuk pertimbangan masa, kita akan mula pergi ke atas ini. 998 00:50:09,170 --> 00:50:10,370 Ia adalah mengapa jika anda belum selesai. 999 00:50:10,370 --> 00:50:13,090 Jangan bimbang tentang ia. 1000 00:50:13,090 --> 00:50:16,260 ROB: mengandaikan c adalah surat modal - 1001 00:50:16,260 --> 00:50:18,030 kita tidak perlu menganggap c adalah surat modal. 1002 00:50:18,030 --> 00:50:20,750 Kita tahu c adalah surat modal selepas gelung selama ini - 1003 00:50:20,750 --> 00:50:22,160 do-gelung while. 1004 00:50:22,160 --> 00:50:28,590 Jadi yang bermakna ia kelihatan seperti ini 'A'. Jadi, jika kita mahu membawa ini 1005 00:50:28,590 --> 00:50:32,895 'A' ini 'a', apa yang kita perlu lakukan? 1006 00:50:36,890 --> 00:50:41,920 Jadi bagaimana kita menukar dan flip bit? 1007 00:50:48,040 --> 00:50:49,450 ALI: Bagaimana kita flip ia? 1008 00:50:49,450 --> 00:50:53,010 >> ROB: Jadi kita tahu kita mahu flip sedikit 32. 1009 00:50:53,010 --> 00:50:59,722 Jadi yang akan melakukan 'a' tolak 'A', atau kita boleh menulis 32, tetapi - 1010 00:50:59,722 --> 00:51:03,090 darn, ia adalah cara lain di sekeliling. 1011 00:51:03,090 --> 00:51:07,250 ALI: Okay jadi Rob sini mengira jumlah itu, nombor ajaib 32. 1012 00:51:07,250 --> 00:51:12,000 Jadi dia mengetahui mana bahawa kawasan flip bit akan menjadi. 1013 00:51:12,000 --> 00:51:14,810 Dan kemudian apa yang kita meletakkan mana tanda tanya? 1014 00:51:14,810 --> 00:51:16,740 ROB: Bagaimana kita terbalikkan sedikit yang? 1015 00:51:16,740 --> 00:51:22,784 Dalam segi surat huruf besar, ia adalah 0, dan kita mahu menjadi 1. 1016 00:51:22,784 --> 00:51:23,660 SPEAKER 34: |. 1017 00:51:23,660 --> 00:51:24,910 ROB: Ya. 1018 00:51:28,780 --> 00:51:38,190 Jadi ini kita mengatakan kita mengambil 'A'. Kami ORing dengan 0 - 1019 00:51:38,190 --> 00:51:40,750 1000 - 1020 00:51:40,750 --> 00:51:44,720 dan bahawa =. 1021 00:51:44,720 --> 00:51:45,930 ALI: Adakah yang masuk akal untuk semua orang? 1022 00:51:45,930 --> 00:51:48,812 Kita boleh pergi melalui sedikit demi sedikit jika anda mahu. 1023 00:51:52,030 --> 00:51:56,300 SPEAKER 35: Adakah anda [didengar]? 1024 00:51:56,300 --> 00:51:57,590 ALI: Di mana tanda tolak? 1025 00:51:57,590 --> 00:51:58,500 ROB: Oh, kamu maksudkan di sini? 1026 00:51:58,500 --> 00:51:59,070 ALI: Oh, ya. 1027 00:51:59,070 --> 00:52:00,140 ROB: Jadi saya rasa ini adalah kita. 1028 00:52:00,140 --> 00:52:05,670 Kita boleh mengatakan 32, dan kini kami hanya menggunakan pengendali bitwise. 1029 00:52:05,670 --> 00:52:07,010 ALI: Kami tidak mahu nombor sihir. 1030 00:52:07,010 --> 00:52:10,460 Kami tidak akan berbuat demikian. 1031 00:52:10,460 --> 00:52:13,592 Juga saya fikir kita hanya perlu menggunakan pengendali bitwise - 1032 00:52:13,592 --> 00:52:19,042 SPEAKER 36: Jika anda menggunakan ^ A, anda akan mendapat 32? 1033 00:52:19,042 --> 00:52:19,980 SPEAKER 37: Ya, saya fikir - 1034 00:52:19,980 --> 00:52:21,090 ROB: Ya anda akan. 1035 00:52:21,090 --> 00:52:23,320 ALI: Ini adalah bagaimana anda akan melakukannya untuk pergi 1036 00:52:23,320 --> 00:52:25,370 daripada modal kepada huruf kecil. 1037 00:52:25,370 --> 00:52:31,130 >> Kini sesiapa sahaja boleh beritahu saya kenapa Rob dan saya berubah segera dan bagaimana kita pergi 1038 00:52:31,130 --> 00:52:34,040 dari huruf kecil huruf besar, bukannya huruf kecil 1039 00:52:34,040 --> 00:52:37,810 huruf besar seperti dahulu kita? 1040 00:52:37,810 --> 00:52:44,520 Adakah sesiapa yang mempunyai apa-apa idea mengapa yang mungkin menjadi lebih sukar? 1041 00:52:44,520 --> 00:52:44,880 ROB: Jadi kita akan lakukan - 1042 00:52:44,880 --> 00:52:46,178 ALI: Ya, teruskan. 1043 00:52:46,178 --> 00:52:49,640 SPEAKER 38: | pengendali adalah hanya benar-benar baik untuk menambah. 1044 00:52:49,640 --> 00:52:51,200 ALI: Ya, sebenarnya. 1045 00:52:51,200 --> 00:52:58,320 ROB: Jadi apa yang kita mahu lakukan dalam huruf kecil kepada huruf besar kes, 1046 00:52:58,320 --> 00:53:00,175 menukar ini A''- 1047 00:53:08,540 --> 00:53:14,820 jadi kami mahu dimasukkan ke dalam beberapa nombor di sini dan menggunakan beberapa pengendali supaya ia datang 1048 00:53:14,820 --> 00:53:21,910 keluar modal A. Kami masih mungkin menggunakan 32 entah bagaimana, tetapi kini bagaimana kita 1049 00:53:21,910 --> 00:53:25,280 mendapatkan ini keluar ini? 1050 00:53:40,910 --> 00:53:42,750 Jadi c - 1051 00:53:42,750 --> 00:53:44,000 oh, saya masih mahu bahawa terlalu - 1052 00:53:46,940 --> 00:53:51,055 ALI: Jadi sekarang jika kita menukar daripada huruf kecil kepada huruf besar lagi, maka kita 1053 00:53:51,055 --> 00:53:55,170 melakukan operasi ^, seperti yang anda semua berkata. 1054 00:53:55,170 --> 00:53:57,650 ROB: Terdapat cara lain anda boleh melakukan perkara-perkara. 1055 00:53:57,650 --> 00:54:01,680 Banyak pengusaha bitwise akhirnya menjadi sangat mudah ditakrif dari segi 1056 00:54:01,680 --> 00:54:03,460 pengendali bitwise lain. 1057 00:54:03,460 --> 00:54:11,150 Jadi saya akan tidak menggunakan ^ atau pada semua, tetapi ^ bekerja dengan sempurna halus. 1058 00:54:11,150 --> 00:54:17,910 >> ALI: Okay, jadi kita pergi untuk pergi pada masalah yang lepas, yang merupakan asas - 1059 00:54:17,910 --> 00:54:22,390 masalah terakhir ialah untuk menukar sesuatu ke dalam binari. 1060 00:54:22,390 --> 00:54:26,350 Jadi, sebagai contoh, anda mempunyai 50, dan kemudian anda menukar kepada 1061 00:54:26,350 --> 00:54:31,400 perduaan, yang merupakan 110010. 1062 00:54:31,400 --> 00:54:36,010 Dan saya fikir kalian semua tahu tentang binari dari kuliah. 1063 00:54:36,010 --> 00:54:39,270 Dan anda juga tidak sepatutnya meletakkan sebarang 0s utama ke dalamnya. 1064 00:54:39,270 --> 00:54:41,460 ROB: Anda boleh mengabaikan bahagian itu buat masa sekarang. 1065 00:54:41,460 --> 00:54:45,250 Pas pertama, anda boleh melakukannya supaya terdapat 0s terkemuka. 1066 00:54:45,250 --> 00:54:49,200 Dan kemudian kita boleh mengubah bahawa tidak mempunyai 0s utama, jika kita mempunyai masa. 1067 00:54:49,200 --> 00:54:50,630 ALI: Jadi jangan bimbang tentang itu. 1068 00:54:50,630 --> 00:54:52,620 Hanya cuba untuk mendapatkan dalam perduaan. 1069 00:54:55,880 --> 00:54:59,855 Sebuah tempat yang baik untuk memulakan akan menjadi - 1070 00:54:59,855 --> 00:55:02,010 ROB: Kita perlu untuk meminta integer. 1071 00:55:02,010 --> 00:55:03,150 ALI: Oh yeah, itu satu yang baik. 1072 00:55:03,150 --> 00:55:04,170 Kita boleh mulakan dengan itu. 1073 00:55:04,170 --> 00:55:06,870 Jadi anda boleh menukar segera. 1074 00:55:06,870 --> 00:55:08,840 Jadi bukan watak, sekarang kita sedang berhadapan dengan integer. 1075 00:55:13,670 --> 00:55:14,920 Sejuk? 1076 00:55:20,630 --> 00:55:25,300 >> ROB: Dan kini apa yang kami buat sementara keadaan akan menjadi? 1077 00:55:25,300 --> 00:55:27,750 Ia meminta untuk integer bukan negatif. 1078 00:55:31,080 --> 00:55:34,280 ALI: Apabila kita mahu untuk terus mendorong pengguna untuk sesuatu yang lain? 1079 00:55:34,280 --> 00:55:35,950 Apabila ia adalah lebih kecil daripada 0. 1080 00:55:35,950 --> 00:55:36,760 ALI: Betul. 1081 00:55:36,760 --> 00:55:38,010 ROB: Walaupun i adalah kurang daripada 0. 1082 00:55:41,090 --> 00:55:45,120 ALI: Sekarang kita mahu menukar. 1083 00:55:45,120 --> 00:55:48,150 Adakah anda semua mempunyai sebarang idea apa yang perlu dilakukan? 1084 00:55:48,150 --> 00:55:49,400 Mana-mana inklings? 1085 00:55:53,610 --> 00:55:54,984 Yeah. 1086 00:55:54,984 --> 00:55:57,344 SPEAKER 39: Adakah kita perlu menukar, atau kita hanya boleh mencetak beberapa 0s dan 1s 1087 00:55:57,344 --> 00:55:58,760 yang akan menjadi nombor yang betul? 1088 00:55:58,760 --> 00:56:02,070 Anda boleh lakukan untuk gelung dan menghitung oleh kuasa 2? 1089 00:56:02,070 --> 00:56:03,320 ROB: Ya. 1090 00:56:05,750 --> 00:56:08,425 Anda tidak perlu untuk menukar i kepada perduaan - 1091 00:56:08,425 --> 00:56:13,720 perwakilan binari i tidak akan dimuatkan di dalam i. 1092 00:56:13,720 --> 00:56:19,090 Anda hanya perlu mencetak perwakilan binari i. 1093 00:56:19,090 --> 00:56:21,010 ALI: Dalam erti kata lain, anda tidak perlu untuk pergi oleh kuasa-kuasa dua. 1094 00:56:21,010 --> 00:56:23,710 ROB: Kerana i sudah disimpan sebagai binari, jadi anda tidak perlu 1095 00:56:23,710 --> 00:56:25,110 menukarkan ia kepada perduaan. 1096 00:56:25,110 --> 00:56:27,260 Hanya pergi ke binari itu, dan mencetaknya. 1097 00:56:30,080 --> 00:56:32,140 Dan anda akan perlu menggunakan bitwise, kerana anda mahu melihat 1098 00:56:32,140 --> 00:56:33,390 bit sebenar. 1099 00:56:37,060 --> 00:56:38,600 Anda tidak perlu menggunakan bitwise, tetapi sila lakukan. 1100 00:56:44,130 --> 00:56:47,160 Dan itulah sebenarnya - 1101 00:56:47,160 --> 00:56:50,200 anda hanya boleh melakukan kuasa dua dengan mendarabkannya dengan 2. 1102 00:56:50,200 --> 00:56:55,120 Kami akan pergi ke salah satu lepas dua operator binari bitwise, 1103 00:56:55,120 --> 00:56:56,410 yang satu ini. 1104 00:56:56,410 --> 00:56:58,730 Jadi, apabila anda mengambil - 1105 00:56:58,730 --> 00:57:00,083 >> ALI: Bolehkah anda pergi melalui kedua-dua mereka? 1106 00:57:00,083 --> 00:57:01,440 ROB: Ya. 1107 00:57:01,440 --> 00:57:03,050 Jadi mari kita pergi dengan 9. 1108 00:57:03,050 --> 00:57:05,210 Jadi 9 anjakan kiri 1 - 1109 00:57:05,210 --> 00:57:12,220 apa yang meninggalkan cara anjakan hanya menggerakkan semua bit ke kiri dan memasukkan 0 a. 1110 00:57:12,220 --> 00:57:15,530 Jadi kita sedang bergerak semua bit daripada 9 kepada satu kiri 1111 00:57:15,530 --> 00:57:20,240 kedudukan, yang memberikan kita - 1112 00:57:26,530 --> 00:57:31,570 Jadi notis kita telah beralih segala-galanya meninggalkan satu, dan dimasukkan 0 pada 1113 00:57:31,570 --> 00:57:32,730 sebelah kanan. 1114 00:57:32,730 --> 00:57:36,755 Jika kita telah beralih ditinggalkan oleh dua, kita akan beralih segala yang ditinggalkan oleh dua, 1115 00:57:36,755 --> 00:57:41,950 dan memasukkan dua 0s untuk mengisi jurang. 1116 00:57:41,950 --> 00:57:43,200 Soalan? 1117 00:57:44,890 --> 00:57:47,510 ALI: Jadi maka anjakan betul melakukan perkara yang sama. 1118 00:57:47,510 --> 00:57:53,190 Jika anda mempunyai 9 anjakan betul 1 maka anda hanya bergerak segala-galanya ke 1119 00:57:53,190 --> 00:57:57,890 sebelah kanan, anda akan kehilangan angka, jadi 100 sebaliknya. 1120 00:57:57,890 --> 00:58:04,142 ROB: Jadi anda ia adalah baik bahawa anda akan kehilangan sedikit yang berlaku untuk semua 1121 00:58:04,142 --> 00:58:05,200 cara ke kanan. 1122 00:58:05,200 --> 00:58:08,850 Terdapat beberapa jenis syif yang betul, tetapi pada dasarnya boleh anda fikirkan 1123 00:58:08,850 --> 00:58:11,410 betul beralih sebagai hanya membahagikan dengan 2. 1124 00:58:11,410 --> 00:58:14,430 Dan anda boleh berfikir peralihan kiri sebagai membiak dengan 2. 1125 00:58:14,430 --> 00:58:16,490 Jadi, jika anda ditukar ini - 1126 00:58:16,490 --> 00:58:22,350 jika anda ditukar 9 anjakan 1, yang adalah sama dengan 10010, jika anda sebenarnya pergi 1127 00:58:22,350 --> 00:58:25,100 melalui binari dan menemukan apa yang, ia hanya akan menjadi 18. 1128 00:58:25,100 --> 00:58:26,880 Kami hanya membiak dengan 2. 1129 00:58:26,880 --> 00:58:30,982 1001 anjakan kiri 2 akan menjadi 36. 1130 00:58:30,982 --> 00:58:32,400 Kami membiak dengan 4. 1131 00:58:41,740 --> 00:58:45,360 Okay, sejuk, supaya pengendali berguna bitwise untuk yang satu ini. 1132 00:58:52,570 --> 00:58:53,330 Lebih banyak kekeliruan? 1133 00:58:53,330 --> 00:58:54,870 Adakah anda semua mahu mencubanya? 1134 00:58:54,870 --> 00:58:58,970 Atau kita hanya boleh melompat kanan dalam dan memulakannya? 1135 00:58:58,970 --> 00:59:01,140 ROB: Kita mungkin perlu melompat hak masuk 1136 00:59:01,140 --> 00:59:01,880 ALI: Ya, Okay. 1137 00:59:01,880 --> 00:59:03,370 Merompak: Dan berjalan melaluinya bersama-sama. 1138 00:59:03,370 --> 00:59:04,440 >> ALI: Well, saya hanya akan pergi ke dalamnya. 1139 00:59:04,440 --> 00:59:09,700 Jadi kerana dia berkata, pada mulanya, kita akan hanya pergi melalui sedikit demi sedikit. 1140 00:59:09,700 --> 00:59:11,890 Jadi kita akan memerlukan gelung. 1141 00:59:11,890 --> 00:59:16,730 Adakah sesiapa yang mempunyai idea tentang jenis terbaik gelung untuk pergi melalui ini? 1142 00:59:16,730 --> 00:59:20,544 Kami mempunyai manakala gelung, lakukan sementara gelung, gelung. 1143 00:59:20,544 --> 00:59:22,400 SPEAKER 40: Do-gelung while? 1144 00:59:22,400 --> 00:59:25,150 ROB: Jadi ingat apa yang saya katakan sebelum ini kira-kira, kita hanya menggunakan do-manakala 1145 00:59:25,150 --> 00:59:27,390 gelung untuk mendapatkan input pengguna. 1146 00:59:27,390 --> 00:59:30,890 Anda akan tidak pernah cukup banyak pernah menggunakan mereka untuk apa-apa lagi. 1147 00:59:30,890 --> 00:59:33,660 ALI: Masalah dengan melakukan manakala gelung ialah ia melakukan sesuatu sebelum ia memeriksa 1148 00:59:33,660 --> 00:59:34,470 keadaan. 1149 00:59:34,470 --> 00:59:36,540 Jadi, ia boleh melakukan sesuatu yang buruk - 1150 00:59:36,540 --> 00:59:38,640 suka, menyakiti - 1151 00:59:38,640 --> 00:59:40,350 melakukan sesuatu yang tidak mustahil. 1152 00:59:40,350 --> 00:59:42,290 Jadi anda mahu semak dahulu. 1153 00:59:42,290 --> 00:59:47,620 ROB: Terdapat banyak kes di mana anda boleh menggunakan do-manakala gelung, tetapi orang 1154 00:59:47,620 --> 00:59:52,120 tidak mengharapkan anda untuk menggunakan mereka melainkan jika ia adalah input pengguna. 1155 00:59:52,120 --> 00:59:54,215 Jadi kita telah menggunakan do-gelung while untuk mendapatkan i. 1156 00:59:57,160 --> 01:00:01,260 Berapa kali gelung kami akan mahu gelung? 1157 01:00:01,260 --> 01:00:04,060 Kami ingin menggelung berulang setiap bit i. 1158 01:00:04,060 --> 01:00:06,302 Berapa bit di i? 1159 01:00:06,302 --> 01:00:07,266 SPEAKER 41: 32. 1160 01:00:07,266 --> 01:00:07,750 ALI: Ya. 1161 01:00:07,750 --> 01:00:09,850 ROB: Jadi, terdapat 32 bit. 1162 01:00:09,850 --> 01:00:12,920 Kita tidak mahu untuk mengatakan 32. 1163 01:00:12,920 --> 01:00:16,230 Kami bukannya mahu untuk mengatakan sizeof - 1164 01:00:16,230 --> 01:00:18,226 yang, anda telah melihat bahawa di dalam kelas lagi? 1165 01:00:18,226 --> 01:00:19,100 ALI: Nope. 1166 01:00:19,100 --> 01:00:20,380 ROB: Mengapa ia mengatakan untuk menggunakan bahawa - 1167 01:00:20,380 --> 01:00:22,160 sizeof (int) kali 8 - 1168 01:00:22,160 --> 01:00:23,530 ALI: Jadi, sizeof - 1169 01:00:23,530 --> 01:00:27,050 >> SPEAKER 42: [didengar] 1170 01:00:27,050 --> 01:00:27,440 ALI: Menarik. 1171 01:00:27,440 --> 01:00:31,610 Jadi, sizeof adalah fungsi terbina dalam C di mana ia hanya memberitahu anda 1172 01:00:31,610 --> 01:00:32,500 bilangan bit dalam - 1173 01:00:32,500 --> 01:00:33,220 ROB: Bytes. 1174 01:00:33,220 --> 01:00:34,210 ALI: Bytes, maaf - 1175 01:00:34,210 --> 01:00:39,990 bilangan bait bahawa pembolehubah mempunyai untuk menyimpan nilai. 1176 01:00:39,990 --> 01:00:46,205 Jadi saya fikir dia pergi lebih dalam kelas, maka, int 4 bait mungkin. 1177 01:00:46,205 --> 01:00:46,610 Sejuk? 1178 01:00:46,610 --> 01:00:50,610 ROB: Tetapi anda tidak perlu tahu bahawa int 4 bait. 1179 01:00:50,610 --> 01:00:52,670 Anda harus mampu untuk mengatakan - 1180 01:00:52,670 --> 01:00:55,870 anda perlu menggunakan sizeof (int) untuk mendapatkan 4 bait. 1181 01:00:55,870 --> 01:00:59,170 Dan itulah sebenarnya penting untuk beberapa perkara. 1182 01:00:59,170 --> 01:01:01,650 Int tidak mungkin 4 bait. 1183 01:01:01,650 --> 01:01:04,050 Pada komputer lain, int mungkin 8 bait. 1184 01:01:04,050 --> 01:01:08,500 Jadi program anda tidak akan bekerja pada komputer itu kerana anda berkod keras 32 1185 01:01:08,500 --> 01:01:12,230 bit apabila pada komputer itu berlaku untuk menjadi 64-bit. 1186 01:01:12,230 --> 01:01:15,260 ALI: Jadi anda mempunyai jumlah bilangan bit yang anda mahu ia untuk mengubah. 1187 01:01:15,260 --> 01:01:17,480 Merompak: Dan perbezaan antara bait dan sedikit adalah bahawa terdapat 1188 01:01:17,480 --> 01:01:19,100 adalah 8 bit dalam satu bait. 1189 01:01:19,100 --> 01:01:22,110 Jadi sizeof (int) mengembalikan 4 bait, maka kita perlu melipatgandakan bahawa 1190 01:01:22,110 --> 01:01:24,420 oleh 8 untuk mendapatkan 32-bit. 1191 01:01:24,420 --> 01:01:27,680 >> ALI: Okay, jadi kita tahu maksimum dan kita tahu kita mahu pergi dari - 1192 01:01:27,680 --> 01:01:29,260 kita mahu pergi melalui mereka semua. 1193 01:01:29,260 --> 01:01:32,950 Jadi kita mahu pergi dari 0 hingga numBits. 1194 01:01:32,950 --> 01:01:37,160 Jadi adakah sesiapa yang tahu bagaimana untuk menulis gelung untuk itu? 1195 01:01:37,160 --> 01:01:37,790 Sesiapa sahaja? 1196 01:01:37,790 --> 01:01:39,680 SPEAKER 43: [didengar] 1197 01:01:39,680 --> 01:01:44,130 ALI: Jadi anda mahu merentasi nombor i dari bit 0 1198 01:01:44,130 --> 01:01:47,840 bit pertama, kedua sedikit, sedikit ketiga, semua cara untuk numBits. 1199 01:01:47,840 --> 01:01:50,972 Max bilangan bit yang anda boleh mendapatkan. 1200 01:01:54,420 --> 01:01:57,780 ROB: Apakah gelung biasa kita gunakan apa yang kita mahu lakukan kali x sesuatu? 1201 01:01:57,780 --> 01:01:58,280 ALI: Bagi. 1202 01:01:58,280 --> 01:01:59,280 Sempurna. 1203 01:01:59,280 --> 01:02:00,440 Jadi kita mempunyai. 1204 01:02:00,440 --> 01:02:05,242 Dan kemudian kita akan mewujudkan iterator, yang tidak akan menjadi 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 Jadi kita akan bermula pada 0. 1208 01:02:09,740 --> 01:02:13,110 Dan kemudian kita akan mempunyai keadaan untuk memastikan, manakala anda 1209 01:02:13,110 --> 01:02:14,968 melalui setiap kali tunggal - 1210 01:02:14,968 --> 01:02:16,960 [INTERPOSING suara] 1211 01:02:16,960 --> 01:02:17,960 ROB: j. 1212 01:02:17,960 --> 01:02:19,970 ALI: j adalah kurang daripada numBits. 1213 01:02:19,970 --> 01:02:23,680 Jadi kita tidak mahu melakukan sebenar adalah sama dengan satu, kerana mereka berada numBits 1214 01:02:23,680 --> 01:02:25,365 jumlah, dan kita bermula pada 0. 1215 01:02:25,365 --> 01:02:26,360 Jadi, kita sebenarnya akan mempunyai - 1216 01:02:26,360 --> 01:02:27,400 SPEAKER 44: Oh. 1217 01:02:27,400 --> 01:02:29,300 ALI: indeks tidak berakhir pada numBits tolak 1. 1218 01:02:29,300 --> 01:02:34,070 ROB: Kami label bit 0-31, kita tidak melabelkan mereka 1-32. 1219 01:02:34,070 --> 01:02:36,970 ALI: Dan kemudian kita pergi untuk kenaikan setiap kali dengan satu, kerana kita mahu 1220 01:02:36,970 --> 01:02:38,050 memeriksa setiap satu. 1221 01:02:38,050 --> 01:02:39,851 Jadi kita akan pergi j + +. 1222 01:02:39,851 --> 01:02:42,740 >> SPEAKER 45: Mengapa kamu berbuat demikian? 1223 01:02:42,740 --> 01:02:46,100 SPEAKER 46: Mengapa anda hendak pergi melalui setiap bit? 1224 01:02:46,100 --> 01:02:49,310 ROB: Jadi kita mahu pergi melalui setiap bit dan - 1225 01:02:52,780 --> 01:02:55,100 Jadi mari kita mengatakan bahawa kita mempunyai beberapa nombor. 1226 01:02:55,100 --> 01:02:56,195 ALI: 68. 1227 01:02:56,195 --> 01:02:57,470 ROB: Kita boleh menggunakan 68. 1228 01:02:57,470 --> 01:03:00,450 Jadi binari akan menjadi 100100. 1229 01:03:00,450 --> 01:03:05,540 Jadi ini adalah di dalam i dan kita mahu pergi lebih setiap bit ini. 1230 01:03:05,540 --> 01:03:06,450 Adakah ia 1? 1231 01:03:06,450 --> 01:03:07,320 Cetak 1. 1232 01:03:07,320 --> 01:03:08,120 Adakah ia 0 a? 1233 01:03:08,120 --> 01:03:09,100 Cetak 0. 1234 01:03:09,100 --> 01:03:10,530 Kemudian kita pergi ke bit seterusnya. 1235 01:03:10,530 --> 01:03:11,210 Adakah ia 1? 1236 01:03:11,210 --> 01:03:11,610 Cetak 1. 1237 01:03:11,610 --> 01:03:11,830 Adalah 0? 1238 01:03:11,830 --> 01:03:13,080 Cetak 0. 1239 01:03:14,880 --> 01:03:16,710 ALI: Cool, okay. 1240 01:03:16,710 --> 01:03:22,880 Sekarang kita berada pada indeks betul di mana bit yang. 1241 01:03:25,380 --> 01:03:28,080 Bagaimana kita boleh menyemak bahawa satu tertentu? 1242 01:03:28,080 --> 01:03:33,130 Katakan kita berada di j = 0, jadi kita mahu untuk memeriksa indeks 0 bit. 1243 01:03:33,130 --> 01:03:37,980 Jadi, dalam kes ini, yang satu ini. 1244 01:03:37,980 --> 01:03:41,930 >> Jadi sekarang bagaimana kita pergi tentang daftar oh, ia akan menjadi satu ini. 1245 01:03:41,930 --> 01:03:42,810 ROB: Ya. 1246 01:03:42,810 --> 01:03:44,310 ALI: Maaf. 1247 01:03:44,310 --> 01:03:47,930 Bagaimana kita akan pergi tentang memeriksa bahawa satu, dalam erti kata? 1248 01:03:47,930 --> 01:03:52,030 Bagaimana kita akan memeriksa jika ia adalah 0 atau 1? 1249 01:03:52,030 --> 01:03:52,730 Nah let's - 1250 01:03:52,730 --> 01:03:53,940 KELAS: Dan 1? 1251 01:03:53,940 --> 01:03:54,390 ALI: Dan? 1252 01:03:54,390 --> 01:03:55,010 Yeah. 1253 01:03:55,010 --> 01:03:57,810 ROB: Jadi mari kita mengatakan bahawa kita sudah mempunyai 1. 1254 01:03:57,810 --> 01:04:02,470 Kemudian ini & ini akan kembali sama ada ia adalah 1 atau 0. 1255 01:04:05,580 --> 01:04:08,200 ALI: Jadi kita boleh pergi ke bawah. 1256 01:04:08,200 --> 01:04:10,695 Dan yang boleh kita lakukan sebagai kalian berkata, melakukan & fungsi. 1257 01:04:13,810 --> 01:04:15,560 ROB: int - 1258 01:04:15,560 --> 01:04:18,290 bagaimana saya mahu untuk mengatakan ini - 1259 01:04:18,290 --> 01:04:24,250 isOne = i. 1260 01:04:24,250 --> 01:04:29,770 Dan bagi bit pertama kita berlaku untuk melihat, kita sedang melakukan i & 1. 1261 01:04:29,770 --> 01:04:33,302 Sekarang apa yang kita akan mahu dengan sedikit kedua? 1262 01:04:33,302 --> 01:04:34,294 SPEAKER 47: 2. 1263 01:04:34,294 --> 01:04:36,110 ROB: Ya, kedua bahawa kita berada pada 2. 1264 01:04:36,110 --> 01:04:39,100 ALI: Anda akan melihat bahawa 1 telah berpindah ke satu kiri. 1265 01:04:39,100 --> 01:04:44,320 Jadi kita telah belajar mana-mana pengendali bitwise untuk melakukan fungsi itu? 1266 01:04:44,320 --> 01:04:45,160 ROB: Yang seterusnya - 1267 01:04:45,160 --> 01:04:46,280 ALI: Ya, betul, tepat. 1268 01:04:46,280 --> 01:04:48,670 Jadi ia adalah satu anjakan kiri. 1269 01:04:48,670 --> 01:04:51,120 Sebaliknya sentiasa memeriksa dengan 1, kita akan beralih. 1270 01:04:51,120 --> 01:04:53,470 Dan berapa kali kita akan beralih? 1271 01:04:53,470 --> 01:04:59,340 Jika kita sedang memeriksa satu 0 maka kita akan bergerak lebih sifar. 1272 01:04:59,340 --> 01:04:59,975 Ya, sebenarnya. 1273 01:04:59,975 --> 01:05:02,090 Jadi anda meninggalkan beralih oleh j. 1274 01:05:02,090 --> 01:05:02,550 Sempurna. 1275 01:05:02,550 --> 01:05:03,550 Jadi sekarang kita tahu - 1276 01:05:03,550 --> 01:05:06,450 kita mempunyai int ini jika ia adalah 1, dan kemudian - 1277 01:05:10,690 --> 01:05:14,670 begitu baik Rob menipu di sini - 1278 01:05:14,670 --> 01:05:18,090 dan sebagainya kini beliau telah pergi ke hadapan dan dia hanya mengatakan bahawa jika ia sebenarnya adalah 1, 1279 01:05:18,090 --> 01:05:23,540 kerana 1 menilai benar, jadi kita tidak perlu untuk mengatakan senaraikan isOne sama dengan 1 - 1280 01:05:23,540 --> 01:05:29,210 jadi jika isOne, maka kita mencetak 1, dan sebaliknya kita mencetak 0. 1281 01:05:29,210 --> 01:05:33,350 >> ROB: Jadi program kami mempunyai pepijat keseluruhan. 1282 01:05:33,350 --> 01:05:35,845 Nah, soalan pertama ini. 1283 01:05:35,845 --> 01:05:41,692 SPEAKER 48: Bolehkah anda pernah meletakkan isOne di dalam empat bahagian operasi dan 1284 01:05:41,692 --> 01:05:47,804 maka ia telah beralih dirinya sebagai bahagian terakhir? 1285 01:05:47,804 --> 01:05:50,050 Jadi isOne sama dengan 1 dan kemudian - 1286 01:05:50,050 --> 01:05:53,140 ROB: Ya, anda boleh. 1287 01:05:53,140 --> 01:05:57,200 Kita sebenarnya boleh menunjukkan bahawa apabila kita menetapkan bug yang saya kira-kira untuk 1288 01:05:57,200 --> 01:06:00,050 berbincang dengan anda semua. 1289 01:06:00,050 --> 01:06:03,470 Notis perintah kita pergi lebih perkara. 1290 01:06:03,470 --> 01:06:10,570 Memandangkan perwakilan perduaan ini, kita bermula dengan sedikit 0. 1291 01:06:10,570 --> 01:06:13,010 Jika ia adalah 0, maka kita mencetak - 1292 01:06:13,010 --> 01:06:15,620 dengan baik, ia adalah 0, jadi kita mencetak 0. 1293 01:06:15,620 --> 01:06:16,860 Kemudian kita pergi ke bit kedua. 1294 01:06:16,860 --> 01:06:19,100 Ia adalah 0, jadi kita mencetak 0. 1295 01:06:19,100 --> 01:06:20,290 Kemudian kita pergi kepada bit ketiga. 1296 01:06:20,290 --> 01:06:22,950 Ia adalah 1, jadi kita mencetak 1. 1297 01:06:22,950 --> 01:06:24,580 ALI: Jadi ia pergi ke belakang. 1298 01:06:24,580 --> 01:06:27,906 Jadi bagaimana anda lelaki mencadangkan bahawa kita menetapkan bahawa dan pergi cara lain? 1299 01:06:27,906 --> 01:06:28,900 SPEAKER 49: [didengar] 1300 01:06:28,900 --> 01:06:29,490 ROB: Ya. 1301 01:06:29,490 --> 01:06:34,500 Jadi, bukannya pergi dari 0 hingga numBits, kami akan pergi dari numBits bit kepada 0. 1302 01:06:34,500 --> 01:06:35,600 ALI: Jadi [didengar] 1303 01:06:35,600 --> 01:06:36,940 sentiasa boleh pergi dengan cara yang lain. 1304 01:06:36,940 --> 01:06:38,970 ROB: NumBits tolak 1, kerana itulah nubmer lepas - 1305 01:06:38,970 --> 01:06:41,160 ALI: Kerana ia pergi 0-31. 1306 01:06:41,160 --> 01:06:44,420 Dan maka kita akan sentiasa memastikan bahawa ia adalah lebih besar daripada 0 supaya anda tidak pergi 1307 01:06:44,420 --> 01:06:46,100 terlalu jauh ke kanan. 1308 01:06:46,100 --> 01:06:48,800 Dan kemudian anda sentiasa akan tolak oleh 1 untuk pergi ke kanan. 1309 01:06:48,800 --> 01:06:52,240 >> ROB: Jadi sekarang kita mempunyai gelung terbalik, dan nombor adalah kembali ke percetakan 1310 01:06:52,240 --> 01:06:53,586 dalam cara yang betul. 1311 01:06:53,586 --> 01:06:57,560 SPEAKER 50: Jangan anda perlu mengubah perkara anjakan terlalu? 1312 01:06:57,560 --> 01:06:58,810 ALI: Jadi tidak. 1313 01:07:03,810 --> 01:07:06,470 ROB: Kami sedang menjalankan operasi yang sama yang tepat, kecuali kini 1314 01:07:06,470 --> 01:07:07,470 dalam susunan terbalik. 1315 01:07:07,470 --> 01:07:14,170 Jadi, bukannya melakukan peralihan oleh numBits tolak 1 untuk mendapatkan apa sahaja yang ini 1316 01:07:14,170 --> 01:07:17,430 sedikit, bukannya melakukan yang lepas, kita hanya akan melakukannya terlebih dahulu. 1317 01:07:19,970 --> 01:07:22,970 Dengan menterbalikkan ini di sini, kita mengakaskan perintah daripada segala-galanya 1318 01:07:22,970 --> 01:07:24,190 yang berlaku di dalam. 1319 01:07:24,190 --> 01:07:28,610 Tetapi kita tidak mahu mengubah apa yang berlaku di dalam pada semua. 1320 01:07:28,610 --> 01:07:29,860 ALI: Adakah yang masuk akal? 1321 01:07:32,240 --> 01:07:33,660 Pemprosesan? 1322 01:07:33,660 --> 01:07:41,200 Okay, jadi tidak sesiapa mempunyai apa-apa soalan lain konsep? 1323 01:07:41,200 --> 01:07:45,030 ALI: Sebelum kita pergi ke titik yang - 1324 01:07:45,030 --> 01:07:46,280 ALI: Baiklah, baik pergi. 1325 01:07:48,350 --> 01:07:53,160 Merompak: Daripada menggunakan j untuk menjadi kami - 1326 01:07:55,780 --> 01:08:00,550 bukannya menggunakan j sentiasa beralih oleh, seperti satu syif j kiri, saya fikir apa 1327 01:08:00,550 --> 01:08:04,120 anda katakan ialah seperti, j menggunakan sendiri. 1328 01:08:04,120 --> 01:08:09,560 Jadi untuk j - 1329 01:08:09,560 --> 01:08:14,656 Saya rasa ini adalah keras - j = 1 << 31. 1330 01:08:14,656 --> 01:08:16,200 Adalah bahawa apa yang saya mahu? 1331 01:08:16,200 --> 01:08:18,470 Saya fikir ia adalah << 31. 1332 01:08:18,470 --> 01:08:22,840 j> = 1. 1333 01:08:22,840 --> 01:08:32,319 j >>, >> isOne, i & j - 1334 01:08:32,319 --> 01:08:35,620 jadi sekarang bukannya menggunakan - 1335 01:08:35,620 --> 01:08:38,370 ALI: Anda sentiasa bergerak j bukannya mempunyai satu 1336 01:08:38,370 --> 01:08:40,520 indeks untuk memeriksa ia. 1337 01:08:40,520 --> 01:08:42,130 Ia bukan yang buruk. 1338 01:08:42,130 --> 01:08:43,960 Kami menggunakan sejenis serupa logik. 1339 01:08:43,960 --> 01:08:46,202 Jadi, jika anda kembali - 1340 01:08:46,202 --> 01:08:50,020 oh, tetapi ia akan hilang. 1341 01:08:50,020 --> 01:08:51,380 Baiklah, anda hanya akan menaip lagi. 1342 01:08:51,380 --> 01:08:56,880 Jika anda melihat bahawa kita mempunyai 1 << j jumlah kali, dan kami 1343 01:08:56,880 --> 01:09:02,279 incrementing j setiap kali tunggal oleh satu kenaikan, tetapi kali ini bukan 1344 01:09:02,279 --> 01:09:06,010 mereka sedang melakukan kenaikan j di atas bahagian dalam untuk gelung. 1345 01:09:06,010 --> 01:09:10,890 Jadi bukannya sentiasa bergerak ke bawah - 1346 01:09:10,890 --> 01:09:15,220 ROB: lelaran pertama untuk gelung, kita mempunyai j adalah 10000. 1347 01:09:15,220 --> 01:09:20,000 Lelaran seterusnya bagi gelung adalah 01000. 1348 01:09:20,000 --> 01:09:22,380 Lelaran seterusnya adalah bahawa. 1349 01:09:22,380 --> 01:09:26,800 Dan 1 hanya akan terus menyebarkan turun sehingga kita mencapai sangat 1350 01:09:26,800 --> 01:09:29,729 akhir, di mana kini ia ini. 1351 01:09:29,729 --> 01:09:33,990 Yang seterusnya, 1 akan ditolak di luar, dan j tidak lagi lebih 1352 01:09:33,990 --> 01:09:35,090 daripada atau sama dengan 1. 1353 01:09:35,090 --> 01:09:38,380 Saya juga boleh meletakkan lebih besar daripada 0, perbezaan yang sama. 1354 01:09:38,380 --> 01:09:41,580 Dan kemudian itu sahaja. 1355 01:09:41,580 --> 01:09:43,720 Soalan? 1356 01:09:43,720 --> 01:09:44,760 Yeah. 1357 01:09:44,760 --> 01:09:49,740 >> SPEAKER 51: [didengar] 1358 01:09:49,740 --> 01:09:51,729 ROB: Jadi yang sama seperti - 1359 01:09:51,729 --> 01:09:57,270 pernahkah anda melihat j + = 3? 1360 01:09:57,270 --> 01:10:00,960 Jadi ini adalah sama seperti j = j + 3? 1361 01:10:00,960 --> 01:10:05,560 Anda boleh berbuat demikian untuk hampir mana-mana pengendali dalam C. Jadi j >> = 3 1362 01:10:05,560 --> 01:10:10,490 sama dengan j = j >> 3. 1363 01:10:13,980 --> 01:10:16,760 Jadi yang berfungsi juga dengan pengendali bitwise. 1364 01:10:16,760 --> 01:10:19,630 Dan saya tidak perlu meletakkan 31 di sini. 1365 01:10:19,630 --> 01:10:23,790 Saya sepatutnya meletakkan numBits - 1. 1366 01:10:23,790 --> 01:10:25,380 ALI: Yay, tiada nombor ajaib. 1367 01:10:25,380 --> 01:10:29,070 Okay, 04:00 walaupun, jadi jika anda lelaki itu mempunyai untuk pergi - tetapi adakah ini masuk akal? 1368 01:10:29,070 --> 01:10:30,320 Adakah anda lelaki itu mempunyai apa-apa soalan lain? 1369 01:10:33,920 --> 01:10:38,470 ROB: Saya juga hendak campakkan dalam bahawa jika kita mahu - 1370 01:10:38,470 --> 01:10:41,326 dia membincangkan pengendali pertigaan pada semua? 1371 01:10:41,326 --> 01:10:42,730 ALI: No. 1372 01:10:42,730 --> 01:10:45,090 Ia okay. 1373 01:10:45,090 --> 01:10:46,970 ROB: Jadi, anda boleh melihat ke dalam untuk masa depan. 1374 01:10:51,030 --> 01:10:52,080 ALI: Okay, benar-benar? 1375 01:10:52,080 --> 01:10:53,150 Sekarang anda hanya menunjukkan off. 1376 01:10:53,150 --> 01:10:54,210 ROB: Tidak, sekarang it's - 1377 01:10:54,210 --> 01:11:00,490 ini adalah apa yang mendapat orang yang berminat, dan sekarang mereka akan pergi melihat ke dalamnya. 1378 01:11:00,490 --> 01:11:02,640 Jadi sekarang, yang melakukan perkara yang sama, dalam satu langkah. 1379 01:11:05,150 --> 01:11:10,950 Jadi periksa dahulu, i & j 1? 1380 01:11:10,950 --> 01:11:12,530 Adakah ia benar? 1381 01:11:12,530 --> 01:11:17,000 Jika ya, mencetak 1, lain, mencetak 0 a. 1382 01:11:17,000 --> 01:11:19,190 ALI: Tetapi melakukannya dengan cara yang lain adalah betul-betul halus juga. 1383 01:11:19,190 --> 01:11:20,920 Ia mempunyai logik yang sama. 1384 01:11:20,920 --> 01:11:22,730 Jadi ia tidak seperti satu - 1385 01:11:22,730 --> 01:11:24,620 ROB: Pada ketika ini, kita boleh menyingkirkan mereka pendakap kerinting, kerana ia hanya 1386 01:11:24,620 --> 01:11:27,190 satu-line bagi gelung. 1387 01:11:27,190 --> 01:11:29,370 ALI: Okay, jadi adakah itu masuk akal? 1388 01:11:29,370 --> 01:11:30,370 Itu adalah jenis lompatan. 1389 01:11:30,370 --> 01:11:34,870 Tetapi ia adalah hanya jenis sintaks, lebih-lebih lagi. 1390 01:11:34,870 --> 01:11:36,250 >> Sejuk? 1391 01:11:36,250 --> 01:11:37,500 Mana-mana soalan-soalan lain? 1392 01:11:40,880 --> 01:11:41,570 ROB: Baiklah. 1393 01:11:41,570 --> 01:11:42,310 ALI: Semua betul, sejuk. 1394 01:11:42,310 --> 01:11:43,560 Terima kasih kerana datang ke seksyen.