1 00:00:01,984 --> 00:00:07,450 [Powered by Google Translate] [Электронны статычны гукі] 2 00:00:07,450 --> 00:00:11,320 ROB: Добра, так што мы толькі што прывёў вас у гэты CS50 прасторы. 3 00:00:11,320 --> 00:00:12,325 ALI: Пачакайце, пачакайце назад. 4 00:00:12,325 --> 00:00:13,175 Сардэчна запрашаем у падзел! 5 00:00:13,175 --> 00:00:13,860 ROB: Сардэчна запрашаем у падзел! 6 00:00:13,860 --> 00:00:14,742 ALI: Ура! 7 00:00:14,742 --> 00:00:16,840 ROB: Supersection! 8 00:00:16,840 --> 00:00:18,610 Алі: Я Алі, і гэта Роб. 9 00:00:18,610 --> 00:00:20,680 Такім чынам, зараз мы раскажам прасторы. 10 00:00:20,680 --> 00:00:23,650 ROB: Так што мы толькі што прывёў вас у гэты CS50 прасторы. 11 00:00:23,650 --> 00:00:29,260 Вы будзеце выкарыстоўваць гэта шмат у вашых частак у гэтым семестры. 12 00:00:29,260 --> 00:00:32,110 У прынцыпе, мы ўжо мелі загрузцы прылады. 13 00:00:32,110 --> 00:00:38,630 І вы можаце думаць аб CS50 прабелы як вэб-інтэрфейс размаўляў з прыборам 14 00:00:38,630 --> 00:00:40,670 што мы маем на некаторыя сервера где-то. 15 00:00:40,670 --> 00:00:42,990 Такім чынам, вы можаце запусціць свой код у гэтым інтэрфейсе, і мы 16 00:00:42,990 --> 00:00:44,180 ўбачыць, як рабіць рэчы. 17 00:00:44,180 --> 00:00:48,200 Вы таксама можаце паглядзець на код іншых людзей у гэтым раздзеле, і - 18 00:00:48,200 --> 00:00:51,920 ALI: І, як некаторыя людзі выявілі, вы можаце мець зносіны людзям на баку. 19 00:00:51,920 --> 00:00:54,230 І мы ўсе бачым, яна таксама, так што гэта цікава. 20 00:00:54,230 --> 00:00:55,655 Заходзьце, прыйсці і сесці. 21 00:00:55,655 --> 00:00:57,060 Сядайце. 22 00:00:57,060 --> 00:00:57,840 >> ROB: Такім чынам, часткі - 23 00:00:57,840 --> 00:00:59,380 ALI: Не, не, вы, хлопцы, можаце прыйсці. 24 00:00:59,380 --> 00:01:03,356 ROB: Раздзелы будзе значна больш інтэрактыўным у гэтым семестры. 25 00:01:03,356 --> 00:01:04,180 ALI: Аб, ён як - 26 00:01:04,180 --> 00:01:05,840 Ох. 27 00:01:05,840 --> 00:01:07,530 Добра, халаднавата. 28 00:01:07,530 --> 00:01:15,630 Так што, калі вы, хлопцы, проста прыходзяць, вы можаце перайсці на гэтую спасылку, калі я магу атрымаць 29 00:01:15,630 --> 00:01:20,190 там, прама там. 30 00:01:20,190 --> 00:01:22,780 Мы не можам напісаць, таму што няма месца на плаце, але спасылку 31 00:01:22,780 --> 00:01:27,160 прама тут, ідзі да гэтага на вашым кампутары, і вы ўвойдзеце CS50 32 00:01:27,160 --> 00:01:29,810 Прасторы, якое з'яўляецца даволі крута. 33 00:01:32,460 --> 00:01:33,830 Добра. 34 00:01:33,830 --> 00:01:35,370 Ці ёсць у вас праблемы? 35 00:01:35,370 --> 00:01:39,930 ROB: Такім чынам, вы можаце знайсці праблемы - 36 00:01:39,930 --> 00:01:42,720 Мы павінны быць у стане напісаць гэта дзе-небудзь. 37 00:01:42,720 --> 00:01:50,040 Так што, калі вы ідзяце ў cs50.net/psets і гэта хакер supersection - 38 00:01:50,040 --> 00:01:55,870 і вы ідзяце ў Hacker выданне PSET адзін, паглядзіце на спецыфікацыі 39 00:01:55,870 --> 00:01:57,620 дзесьці на старонцы - 40 00:02:01,940 --> 00:02:04,280 >> Алі: Увогуле, у той час як Роб глядзіць, што мы збіраемся рабіць у 41 00:02:04,280 --> 00:02:06,650 профіль сёння ёсць раздзел праблем - 42 00:02:06,650 --> 00:02:07,600 ROB: - на старонцы восем. 43 00:02:07,600 --> 00:02:09,300 ALI: - называецца частка праблемы - 44 00:02:09,300 --> 00:02:10,280 ROB: Раздзел пытанняў. 45 00:02:10,280 --> 00:02:11,630 ALI: Выбачайце, профіль пытанняў. 46 00:02:11,630 --> 00:02:14,450 І гэта тое, што мы збіраемся перайсці - 47 00:02:14,450 --> 00:02:16,370 тыя, што мы збіраемся перайсці на сённяшні дзень у раздзеле. 48 00:02:16,370 --> 00:02:20,010 І мы збіраемся, каб закадаваць яго на CS50 прасторы, і мы спадзяемся, што будзе працаваць. 49 00:02:20,010 --> 00:02:22,210 І мы можам толькі казаць праз іх. 50 00:02:22,210 --> 00:02:24,510 І вы, хлопцы, можаце задаваць пытанні, калі вы адчуваеце - 51 00:02:24,510 --> 00:02:27,890 >> ROB: Такім чынам, гэта дабіраецца, каб быць звычайнай з'явай у большасці psets. 52 00:02:27,890 --> 00:02:31,000 Я думаю, што з гэтым, ён кажа, вы не павінны ўручыць гэтыя пытанні цалі 53 00:02:31,000 --> 00:02:36,780 Але ідэя ў тым, што гэтыя пытанні ставяцца на PSET, і вы можаце прыйсці 54 00:02:36,780 --> 00:02:39,790 профіль, каб гэтыя пытанні адказаў. 55 00:02:39,790 --> 00:02:42,730 Ці, калі вы не прыйдзеце ў раздзеле, вы можаце адказаць на іх па сваім меркаванні або атрымліваць 56 00:02:42,730 --> 00:02:44,250 дапамогу ў непрацоўны час ці нешта яшчэ. 57 00:02:44,250 --> 00:02:47,540 Але гэтыя пытанні, якія, як мяркуецца, падрыхтоўчыя вас за праблема набору. 58 00:02:47,540 --> 00:02:50,910 А на хакера выданне, шмат пытанняў можа быць проста аб 59 00:02:50,910 --> 00:02:54,170 пашырэнне бягучых ведах CS. 60 00:02:54,170 --> 00:02:55,370 ALI: Так, даволі шмат. 61 00:02:55,370 --> 00:02:57,950 >> Добра, такім чынам, ёсць усе на CS50 прасторы? 62 00:02:57,950 --> 00:02:59,457 Прывітанне, заходзь 63 00:02:59,457 --> 00:03:00,828 Выступоўца 1: Ці можам мы ўбачыць URL яшчэ раз? 64 00:03:04,030 --> 00:03:07,000 Роб: Так, гэта будзе лягчэй, калі вы на самой справе ў вашай секцыі і 65 00:03:07,000 --> 00:03:10,760 ваша TF проста можа вам па электроннай пошце URL загадзя. 66 00:03:10,760 --> 00:03:11,870 ALI: Yay, заняць месца. 67 00:03:11,870 --> 00:03:13,170 Ёсць месцы тут. 68 00:03:13,170 --> 00:03:14,420 Перадпакой панэль не так ужо дрэнна. 69 00:03:17,112 --> 00:03:18,362 Што? 70 00:03:20,650 --> 00:03:23,590 Такім чынам, CS50 прасторы, мы атрымліваем там. 71 00:03:23,590 --> 00:03:26,760 Хто-небудзь ёсць якія-небудзь пытанні, перш чым мы пяройдзем да - што? 72 00:03:26,760 --> 00:03:28,060 ROB: Там няма нават мел. 73 00:03:28,060 --> 00:03:29,270 [Неразборліва] 74 00:03:29,270 --> 00:03:31,540 ALI: Выбачайце. 75 00:03:31,540 --> 00:03:32,950 Вы можаце выкарыстоўваць вашыя пазногці? 76 00:03:32,950 --> 00:03:38,210 Мы знаходзімся ў вельмі нізкіх тэхналогій пакой для вельмі высокатэхналагічны клас. 77 00:03:38,210 --> 00:03:40,795 Добра, гэта ўсё добрае? 78 00:03:40,795 --> 00:03:44,310 Хто-небудзь ёсць яшчэ пытанні па гэтай нагоды? 79 00:03:44,310 --> 00:03:48,540 Як я ўжо казаў, мы збіраемся прайсці праз профіль пытанняў 80 00:03:48,540 --> 00:03:51,340 PSET спецыфікацый. 81 00:03:51,340 --> 00:03:53,490 Такім чынам, ёсць толькі некалькі праблем, якія мы збіраемся 82 00:03:53,490 --> 00:03:57,490 код у CS50 прасторы. 83 00:03:57,490 --> 00:03:58,740 Ці ўсё добра? 84 00:04:01,010 --> 00:04:01,360 Добра. 85 00:04:01,360 --> 00:04:02,312 Добра? 86 00:04:02,312 --> 00:04:04,260 ROB: Ці ёсць у Вас ноўтбук? 87 00:04:04,260 --> 00:04:05,150 ALI: Вы можаце пагутарыць з Лукасам. 88 00:04:05,150 --> 00:04:06,960 Ён сядзіць побач з вамі. 89 00:04:06,960 --> 00:04:10,030 Склейванне часу. 90 00:04:10,030 --> 00:04:10,990 >> ROB: Такім чынам, пачнем з першай праблемай? 91 00:04:10,990 --> 00:04:11,260 ALI: Так. 92 00:04:11,260 --> 00:04:11,820 Мы можам пачаць. 93 00:04:11,820 --> 00:04:12,390 Вы хочаце мяне - 94 00:04:12,390 --> 00:04:13,700 Я магу пайсці. 95 00:04:13,700 --> 00:04:16,666 Такім чынам, мы пойдзем у PSET функцыі. 96 00:04:16,666 --> 00:04:17,640 Ах, навошта ж гэта такое - 97 00:04:17,640 --> 00:04:18,890 ROB: Control. 98 00:04:21,769 --> 00:04:25,770 ALI: Такім чынам, мы ідзем у адказ на гэтыя рэчы, а? 99 00:04:25,770 --> 00:04:26,190 ROB: О, так. 100 00:04:26,190 --> 00:04:27,280 Так што - 101 00:04:27,280 --> 00:04:29,675 ALI: О, зрабіў усё гадзіны Адзежа галоўных ролях шорты? 102 00:04:32,430 --> 00:04:33,360 Добра, халаднавата. 103 00:04:33,360 --> 00:04:36,870 ROB: Так, я не думаю, што мы абавязкова чакаў, што вы ёсць 104 00:04:36,870 --> 00:04:40,650 глядзеў яго да прыезду ў дадзеным раздзеле, але мы можам абмяркоўваць гэтыя 105 00:04:40,650 --> 00:04:43,870 праблемы загадзя, так як яны, у раздзеле пытанняў рэчы. 106 00:04:43,870 --> 00:04:46,480 Так што калі вы яшчэ не глядзелі яго, не хвалюйцеся. 107 00:04:46,480 --> 00:04:48,630 Тыя, хто можа паспрабаваць адказаць. 108 00:04:48,630 --> 00:04:53,875 >> Такім чынам, першае пытанне, што з'яўляецца пре-працэсары, якім # ўключыць 109 00:04:53,875 --> 00:04:56,080 ставіцца? 110 00:04:56,080 --> 00:04:58,440 Так хто-небудзь ёсць адказ на гэта? 111 00:04:58,440 --> 00:04:59,320 Алі: Вы, хлопцы, можаце казаць гэта. 112 00:04:59,320 --> 00:05:00,308 Вядома, ісці наперад. 113 00:05:00,308 --> 00:05:03,766 SPEAKER 2: # ўключыць некаторыя загадзя напісаныя кодам, і замест таго, 114 00:05:03,766 --> 00:05:08,706 капіяванне і ўстаўка яго ў вашу праграму, проста кажу ўключыць яго, 115 00:05:08,706 --> 00:05:14,140 папярэдняй апрацоўкі ведае, што ён там і што ён павінен дадаць яго ў 116 00:05:14,140 --> 00:05:17,520 пазней ці раней нічога не адбываецца. 117 00:05:17,520 --> 00:05:18,466 ALI: Так, дзіўны. 118 00:05:18,466 --> 00:05:19,440 Cool. 119 00:05:19,440 --> 00:05:23,820 ROB: Такім чынам, калі вы на самой справе кампіляцыі праграмы, папярэдне працэсар гэта 120 00:05:23,820 --> 00:05:25,230 Першым крокам. 121 00:05:25,230 --> 00:05:27,620 Кампіляцыя адбываецца ў чатыры вялікія крокі. 122 00:05:27,620 --> 00:05:31,120 Так папярэдняй апрацоўкі з'яўляецца першай вялікай, і менавіта гэта хлопец, які ідзе 123 00:05:31,120 --> 00:05:33,510 шляхам і шукае ўсе гэтыя хэш-сімвалы. 124 00:05:33,510 --> 00:05:36,610 І любая радок, якая пачынаецца з знака, папярэдне працэсар глядзіць на яго і бачыць, 125 00:05:36,610 --> 00:05:37,880 калі ён можа яго апрацаваць. 126 00:05:37,880 --> 00:05:43,800 Такім чынам, # ўключыць распавядае папярэдняй апрацоўкі шукаць нейкія cs50.h 127 00:05:43,800 --> 00:05:47,830 файл і проста скапіяваць і ўставіць яго змесціва ў гэты файл. 128 00:05:47,830 --> 00:05:50,970 Такім чынам, вы сапраўды можаце # ўключыць усе, што заўгодна, але гэта ў асноўным будзе 129 00:05:50,970 --> 00:05:53,700 . Ч файлы. 130 00:05:53,700 --> 00:05:55,820 Мы яшчэ не дайшлі да # вызначыць яшчэ, так што не мае значэння. 131 00:05:55,820 --> 00:05:57,620 Алі: Так, мы добрыя на тым. 132 00:05:57,620 --> 00:05:59,450 Хто-небудзь ёсць якія-небудзь пытанні па гэтай нагоды? 133 00:05:59,450 --> 00:06:01,090 Хіба мы добра? 134 00:06:01,090 --> 00:06:02,430 Наступнае пытанне. 135 00:06:02,430 --> 00:06:07,096 >> Выступоўца 3: У кароткатэрміновай было нешта пра С, а таксама.? 136 00:06:07,096 --> 00:06:09,110 Хіба што адпаведныя ці гэта не мае значэння? 137 00:06:09,110 --> 00:06:11,210 ROB: а с з папярэдняй апрацоўкі.? 138 00:06:11,210 --> 00:06:13,990 Выступоўца 3: Так, ці я зрабіў нешта? 139 00:06:13,990 --> 00:06:18,290 ROB: Так коратка можна было б паказваць папярэдняй апрацоўкі гэтага файла і 140 00:06:18,290 --> 00:06:24,240 . Выводзіць яго ў іншы файл з, так што вы можаце папярэдне апрацаваць гэты файл - 141 00:06:24,240 --> 00:06:30,000 калі вы проста працаваць, як, зрабіць прывітанне або ляск hello.c, вы робіце ўсё 142 00:06:30,000 --> 00:06:31,730 кампіляцыі ў адзін вялікі крок. 143 00:06:31,730 --> 00:06:34,780 Але вы можаце зрабіць гэта відавочна на асобныя крокі. 144 00:06:34,780 --> 00:06:36,950 Такім чынам, спачатку вы можаце папярэдне апрацаваць. 145 00:06:36,950 --> 00:06:42,260 Тады вы можаце скампіляваць, то можна сабраць, а затым вы можаце звязаць. 146 00:06:42,260 --> 00:06:43,620 Мы дабяромся да тых, іншых. 147 00:06:43,620 --> 00:06:47,410 Але папярэдняй апрацоўкі, вы, здаецца, папярэдняй апрацоўкі, а затым ён пераходзіць у 148 00:06:47,410 --> 00:06:49,270 іншае. з файлам. 149 00:06:49,270 --> 00:06:51,430 Таму што папярэдняя апрацоўка сапраўды не зменіцца нічога. 150 00:06:51,430 --> 00:06:52,800 Гэта проста куча капіявання і ўстаўкі. 151 00:06:52,800 --> 00:06:56,760 Вы можаце ўручную скапіяваць і ўставіць яго самастойна. 152 00:06:56,760 --> 00:06:59,630 ALI. І каб было ясна, з файл ўяўляе сабой файл C, так што гэта 153 00:06:59,630 --> 00:07:00,930 напісана ў код C. 154 00:07:00,930 --> 00:07:03,300 Такім чынам, ён збіраецца з кода C кода C. 155 00:07:03,300 --> 00:07:05,210 Ты проста дадаць больш кода з фунта. 156 00:07:05,210 --> 00:07:08,575 ROB: Калі вы папярэдне апрацаваны, яна ўсё яшчэ сапраўдны файл C. 157 00:07:08,575 --> 00:07:09,940 Выступоўца 3: Добра. 158 00:07:09,940 --> 00:07:10,540 ALI: Добры пытанне. 159 00:07:10,540 --> 00:07:11,370 Мне гэта падабаецца. 160 00:07:11,370 --> 00:07:12,755 Добра, наступны пытанне. 161 00:07:17,870 --> 00:07:19,660 >> Што такое кампілятар? 162 00:07:19,660 --> 00:07:20,824 Любы? 163 00:07:20,824 --> 00:07:21,286 Так. 164 00:07:21,286 --> 00:07:24,650 Выступоўца 4: Ён змяняе папярэдняй апрацоўкі кода ў зборцы. 165 00:07:24,650 --> 00:07:25,110 ALI: Perfect. 166 00:07:25,110 --> 00:07:25,390 ROB: Так. 167 00:07:25,390 --> 00:07:25,720 ALI: Круто. 168 00:07:25,720 --> 00:07:28,270 ROB: Дык вось што кампілятар робіць спецыяльна 169 00:07:28,270 --> 00:07:30,740 калі мы выкарыстоўваем Clang. 170 00:07:30,740 --> 00:07:35,100 У самым агульным сэнсе, кампілятар дакладна гэтак жа як з кодам на адной мове 171 00:07:35,100 --> 00:07:37,070 і ператварэнне яго ў іншую мову. 172 00:07:37,070 --> 00:07:38,370 Такім чынам, у C - 173 00:07:38,370 --> 00:07:43,750 або, ну, Clang прымае код, які знаходзіцца ў C і ператварэння яго ў зборку. 174 00:07:43,750 --> 00:07:46,560 І вы не павінны быць у стане зразумець зборку на ўсіх. 175 00:07:46,560 --> 00:07:49,830 Але гэта мова, на якім ён ператварыўшы яго ў. 176 00:07:49,830 --> 00:07:50,230 >> ALI: Добра. 177 00:07:50,230 --> 00:07:52,920 І потым, што гэта асэмблер? 178 00:07:52,920 --> 00:07:54,270 Любы? 179 00:07:54,270 --> 00:07:56,810 SPEAKER 5: [неразборліва] ў двойкавую? 180 00:07:56,810 --> 00:07:57,260 ALI: Выбачайце, што? 181 00:07:57,260 --> 00:07:58,760 SPEAKER 5: [неразборліва] ў двойкавую? 182 00:07:58,760 --> 00:07:59,260 ROB: Так. 183 00:07:59,260 --> 00:07:59,880 ALI: Так. 184 00:07:59,880 --> 00:08:01,960 ROB: Так асэмблер - 185 00:08:01,960 --> 00:08:05,830 ассемблерный код вельмі, вельмі блізка да таго, што ваш кампутар можа зразумець, 186 00:08:05,830 --> 00:08:09,390 Але памятайце, што ён не зусім разумее тэкст 187 00:08:09,390 --> 00:08:10,630 гэта значыць асэмблеры. 188 00:08:10,630 --> 00:08:14,570 Вы павінны пераўтварыць яго ў прамой 1 і 0. 189 00:08:14,570 --> 00:08:17,000 Гэта падобна на працэс прамога перакладу. 190 00:08:17,000 --> 00:08:19,450 Мы маглі б проста даць вам табліцу, якая адлюстроўвае тое, што кожны 191 00:08:19,450 --> 00:08:21,880 інструкцыя па мантажы сродкаў. 192 00:08:21,880 --> 00:08:24,340 Але асэмблер проста рабіць гэты пераклад для вас. 193 00:08:24,340 --> 00:08:28,790 Гэта пераўтварэнне кода зборкі ў 1 і 0. 194 00:08:28,790 --> 00:08:30,870 >> ALI: І потым, для апошняга, што кампаноўнік? 195 00:08:30,870 --> 00:08:35,070 І як-lcs50 ставіцца? 196 00:08:35,070 --> 00:08:37,010 Любы? 197 00:08:37,010 --> 00:08:41,440 ROB: Гэта самая складаная і найменш патлумачыў адзін у кампілятар відэа. 198 00:08:41,440 --> 00:08:48,980 ALI: Хто-небудзь памятае праводзіны lcs50 ў камандзе? 199 00:08:48,980 --> 00:08:50,690 SPEAKER 6: Калі Вы зайшлі на зрабіць. 200 00:08:50,690 --> 00:08:51,980 ALI: Гэта ў зрабіць. 201 00:08:51,980 --> 00:08:55,780 Так, прахалодна, добра. 202 00:08:55,780 --> 00:09:02,024 Ці ёсць якія-небудзь здагадкі або расплывістыя - так, ідуць. 203 00:09:02,024 --> 00:09:06,370 SPEAKER 7: Я не ўпэўнены, таму што ваша кароткая было сапраўды [неразборліва], але гэта было 204 00:09:06,370 --> 00:09:12,244 нешта рабіць асобныя файлы з кожнай бібліятэцы, а затым пакласці 205 00:09:12,244 --> 00:09:13,620 іх усё разам у адной бібліятэкі? 206 00:09:13,620 --> 00:09:14,400 ROB: Так. 207 00:09:14,400 --> 00:09:23,000 Таму, калі ў вас ёсць hello.c, гэта вельмі просты праграмы. 208 00:09:23,000 --> 00:09:25,570 Вы сапраўды робіце толькі адну рэч у гэтым. 209 00:09:25,570 --> 00:09:27,400 Але калі вы трапляеце ў іншых праграмах - 210 00:09:27,400 --> 00:09:31,700 і я думаю, нават калі вы GetString ў сваіх праграмах, вам трэба, каб пачаць 211 00:09:31,700 --> 00:09:33,830 уключаючы іншыя файлы. 212 00:09:33,830 --> 00:09:38,000 Такім чынам, бібліятэка CS50 з'яўляецца адным з такіх файлаў, у якіх у нас ёсць рэалізацый 213 00:09:38,000 --> 00:09:40,750 з GetString і GetInt і ўсе гэтыя рэчы. 214 00:09:40,750 --> 00:09:45,540 Так што кампаноўнік робіць гэта ідзе вакол, гледзячы праз усе гэтыя 215 00:09:45,540 --> 00:09:49,400 Файлы, бачачы, дзе функцыі вызначаны, пераканаўшыся, што калі я тэлефаную 216 00:09:49,400 --> 00:09:52,440 GetString дзесьці, ён ведае, што GetString азначае, што гэта 217 00:09:52,440 --> 00:09:54,910 GetString больш у CS50 бібліятэкі. 218 00:09:54,910 --> 00:09:58,895 Такім чынам, кампаноўнік проста прымае ўсе гэтыя файлы, разбівае іх разам, і цяпер 219 00:09:58,895 --> 00:10:01,020 ў вас ёсць выкананы файл. 220 00:10:01,020 --> 00:10:05,600 Так што майце на ўвазе, што калі вы выкарыстоўваеце CS50 бібліятэку, неабходна як 221 00:10:05,600 --> 00:10:10,370 # Уключыць у верхняй частцы, а затым і ў вашай маркі каманду, як вы 222 00:10:10,370 --> 00:10:12,630 сказаў, вы павінны мець-lcs50. 223 00:10:12,630 --> 00:10:15,720 Такім чынам, вы не можаце проста ёсць. 224 00:10:15,720 --> 00:10:18,294 Так што гэта проста нешта, каб мець на ўвазе на будучыню. 225 00:10:18,294 --> 00:10:22,550 >> SPEAKER 8: Такім чынам, выкажам здагадку, што была яшчэ адна бібліятэка, як cs51.h, мы б 226 00:10:22,550 --> 00:10:26,780 Таксама трэба дадаць, lcs51? 227 00:10:26,780 --> 00:10:32,390 ROB: Адзіная прычына гэтага-lcs50 працуе выдатна, таму што мы ёсць, што набор 228 00:10:32,390 --> 00:10:35,800 ў пэўнае месца ў вашай тэхнікай, так што ён ведае, што 229 00:10:35,800 --> 00:10:38,550 -Lcs50 сродкаў. 230 00:10:38,550 --> 00:10:43,240 Мы маглі б проста даць вам cs50.c файл, а затым вы можаце скампіляваць яго, сказаўшы, 231 00:10:43,240 --> 00:10:49,050 Clang hello.c cs50.c, а затым гэта зробіць ваш выкананы файл, паклаўшы 232 00:10:49,050 --> 00:10:50,350 гэтыя два файла разам. 233 00:10:50,350 --> 00:10:56,520 Яна ведае, што-lcs50 азначае cs50.c больш у пэўным каталогу, які мы паказалі ў 234 00:10:56,520 --> 00:10:58,350 Вашы прыборы. 235 00:10:58,350 --> 00:11:04,290 Так што калі вы хацелі cs51.c быць дакладна вызначаны шляхам проста кажу-lcs51, 236 00:11:04,290 --> 00:11:06,760 то мы таксама павінны пакласці яго ў гэтым каталогу таму ён ведае, дзе 237 00:11:06,760 --> 00:11:08,636 шукаць. 238 00:11:08,636 --> 00:11:10,510 ALI: Якім быў ваш пытанне? 239 00:11:10,510 --> 00:11:13,975 >> SPEAKER 7: Чаму вы павінны звязаць CS50 240 00:11:13,975 --> 00:11:18,940 калі - wasn't яго скапіяваць / ўставіць на першым этапе, калі вы папярэдне апрацаваныя гэта? 241 00:11:18,940 --> 00:11:19,700 ALI: Вы хочаце ўзяць? 242 00:11:19,700 --> 00:11:20,880 ROB: Вядома. 243 00:11:20,880 --> 00:11:28,028 Так cs50.h файла асобна ад cs50.c файл C. 244 00:11:28,028 --> 00:11:33,652 Вы дабраліся да прататыпаў функцый у класе? 245 00:11:33,652 --> 00:11:34,350 Добра. 246 00:11:34,350 --> 00:11:40,255 Так у асноўным, файл cs50.h проста будзе скапіяваць і ўставіць - 247 00:11:40,255 --> 00:11:44,040 ALI: Вы, хлопцы, ведаеце, што подпісы? 248 00:11:44,040 --> 00:11:46,580 Такім чынам, даволі шмат, калі вы паглядзіце на - 249 00:11:46,580 --> 00:11:50,530 ROB: Давайце прадставім, cs50.h няма. 250 00:11:50,530 --> 00:11:52,960 Цяпер гэты файл - 251 00:11:52,960 --> 00:11:56,090 Вы робіце = GetString радок з. 252 00:11:56,090 --> 00:11:59,350 Але калі мы дайшлі да гэтай кропкі ў кодзе, ён паняцця не мае, што 253 00:11:59,350 --> 00:12:00,230 GetString ёсць. 254 00:12:00,230 --> 00:12:02,600 Ён ведае, што гэта функцыя, так як вы называеце яго. 255 00:12:02,600 --> 00:12:06,500 Але ён не ведае, што гэта на самай справе павінна вяртаць радок. 256 00:12:06,500 --> 00:12:14,530 Так як я ўжо сказаў, радок S = GetInt, гэта не мае ніякага сэнсу, так як 257 00:12:14,530 --> 00:12:17,530 Вы падпісаннем цэлага ліку ў радок. 258 00:12:17,530 --> 00:12:22,270 Але ён не ведае, што GetString мае сэнс, таму што яна не 259 00:12:22,270 --> 00:12:24,380 Вядома, што GetString вяртае радок. 260 00:12:24,380 --> 00:12:28,220 Так што cs50.h кажа нешта накшталт гэтага. 261 00:12:33,070 --> 00:12:37,750 ALI: Дык што Роб друкуе тым, што гэта абяцанне такім чынам, што яна збіраецца 262 00:12:37,750 --> 00:12:41,280 ёсць гэтая функцыя завецца GetString. 263 00:12:41,280 --> 00:12:45,250 ROB: Гэта ўсё, што cs50.h будзе скапіяваць і ўставіць сюды, а таксама 264 00:12:45,250 --> 00:12:47,620 GetInt як і ўсе гэтыя рэчы. 265 00:12:47,620 --> 00:12:51,520 І гэта проста кажа, што GetString ці вяртаць радок. 266 00:12:51,520 --> 00:12:54,830 Вы не ведаеце, як гэта рэалізавана, але калі мы дабяромся да гэтай лініі, у цяперашні час 267 00:12:54,830 --> 00:12:57,760 ён ведае, што правільна вяртае радок. 268 00:12:57,760 --> 00:13:03,022 >> SPEAKER 9: Такім чынам, калі мы не турбаваліся # ўключыць рэч, і замест 269 00:13:03,022 --> 00:13:07,130 проста напісаў прататып для тых, што мы на самай справе збіраемся выкарыстоўваць? 270 00:13:07,130 --> 00:13:07,330 ROB: Так. 271 00:13:07,330 --> 00:13:08,870 Так давайце запусцім гэта. 272 00:13:08,870 --> 00:13:09,110 SPEAKER 9: Што гэта? 273 00:13:09,110 --> 00:13:13,670 Так, па змаўчанні, ён будзе рабіць-л да CS50 толькі таму, што -. 274 00:13:13,670 --> 00:13:14,740 ROB: - выраз. 275 00:13:14,740 --> 00:13:19,370 Алі: Так, таму што, як вы сказалі, гэта ў марку файл. 276 00:13:19,370 --> 00:13:24,040 ROB: cs50.h таксама, здараецца, ЬурейеЕ знак * у радок. 277 00:13:24,040 --> 00:13:26,950 Вы можаце цалкам ігнараваць тое, што гэта азначае, што ў цяперашні час. 278 00:13:26,950 --> 00:13:31,430 Але гэта таксама тое, што ўключана ў cs50.h. 279 00:13:31,430 --> 00:13:34,230 Так што зараз усё працуе выдатна. 280 00:13:34,230 --> 00:13:40,770 Яна працуе сапраўды гэтак жа, як гэта было, калі мы толькі што 281 00:13:40,770 --> 00:13:45,120 # Ўключыць. 282 00:13:45,120 --> 00:13:49,200 І так адбываецца, у тым ліку cs50.h больш-ўключаюць такія рэчы, што вам трэба - 283 00:13:49,200 --> 00:13:53,080 як, вы не выкарыстоўваеце GetInt ў гэтай праграме, але гэта не мае значэння. 284 00:13:53,080 --> 00:13:55,010 Гэта будзе проста ігнараваць яго. 285 00:13:55,010 --> 00:14:02,400 ALI: А потым, калі вы робіце-lcs50 тут і тут, тое, што адбываецца 286 00:14:02,400 --> 00:14:05,290 на тое, што гэта якая мае фактычную рэалізуюцца код. 287 00:14:05,290 --> 00:14:07,530 Дык вось дзе ён на самой справе, рабіць - 288 00:14:07,530 --> 00:14:09,090 напісанне кода для GetString. 289 00:14:09,090 --> 00:14:11,180 Так што гэта не проста абяцанне больш. 290 00:14:11,180 --> 00:14:16,520 Гэта на самай справе перажывае і прымае радок і ўсё такое. 291 00:14:16,520 --> 00:14:17,600 Сэнс? 292 00:14:17,600 --> 00:14:22,640 Пытанні? Добра. 293 00:14:22,640 --> 00:14:24,466 Cool Beans. 294 00:14:24,466 --> 00:14:27,630 >> ROB: Зараз мы можам перайсці да ўласна код. 295 00:14:27,630 --> 00:14:28,780 ALI: Добра. 296 00:14:28,780 --> 00:14:33,340 Так вось першая праблема. 297 00:14:33,340 --> 00:14:36,910 Так ён кажа напісаць праграму, якая запытвае ў карыстальніка малыя 298 00:14:36,910 --> 00:14:40,540 літара, а затым пераўтворыць яго ў верхні рэгістр без выкарыстання пабітава 299 00:14:40,540 --> 00:14:43,590 аперацый, у адпаведнасці з узорам выхаду ніжэй. 300 00:14:43,590 --> 00:14:48,780 Такім чынам, вы бачыце, вы запусціце праграму з. / A.out, і тады вы 301 00:14:48,780 --> 00:14:53,320 збіраюся паставіць у ніжнім рэгістры, а затым ваша праграма павінна выдаць капітал 302 00:14:53,320 --> 00:15:00,590 A. Так чаму б не вы, хлопцы, усе яго застрэлілі на CS50 прасторы? 303 00:15:00,590 --> 00:15:03,360 Так што вы, хлопцы, усё гэта можа пайсці сюды. 304 00:15:03,360 --> 00:15:06,650 І вы можаце выдаліць увесь код тут. 305 00:15:06,650 --> 00:15:12,140 І тады вы можаце пайсці далей і пачаць кадаваньне рэч. 306 00:15:12,140 --> 00:15:14,590 ROB: Вы, верагодна, хочаце выкарыстоўваць GetChar, гэта 307 00:15:14,590 --> 00:15:16,190 ўключаны ў CS50 бібліятэкі. 308 00:15:16,190 --> 00:15:18,770 ALI: Я думаю, было б лепш, калі вы захаваеце верхняй часткі. 309 00:15:21,452 --> 00:15:23,805 Такім чынам, вы можаце проста змяніць рэчы ў сярэдзіну. 310 00:15:28,710 --> 00:15:29,070 Ідзем далей і працаваць. 311 00:15:29,070 --> 00:15:30,530 Не саромейцеся працаваць адзін з адным. 312 00:15:30,530 --> 00:15:32,360 Роб: І вы можаце задаваць пытанні, калі ў вас ёсць - 313 00:15:32,360 --> 00:15:33,450 >> SPEAKER 10: Што такое аперацыя пабітава? 314 00:15:33,450 --> 00:15:35,100 ROB: так, не звяртайце ўвагі, што па гэтай праблеме. 315 00:15:35,100 --> 00:15:36,330 ALI: Калі вы не ведаеце, што гэта добра. 316 00:15:36,330 --> 00:15:38,300 ROB: Мы збіраемся выкарыстоўваць яго ў наступнай праблемай. 317 00:15:38,300 --> 00:15:40,750 Але калі вы не ведаеце, што аператар пабітава у тым, што ўсё ў парадку. 318 00:15:40,750 --> 00:15:43,575 SPEAKER 10: Ці з'яўляецца, што, як ператварыць яго ў ASCII код? 319 00:15:43,575 --> 00:15:44,050 ALI: Няма 320 00:15:44,050 --> 00:15:44,750 ROB: Не. 321 00:15:44,750 --> 00:15:46,220 Вы можаце зрабіць гэта па гэтай праблеме. 322 00:15:46,220 --> 00:15:48,280 SPEAKER 10: Як ты гэта робіш? 323 00:15:48,280 --> 00:15:52,460 Так што, калі б у мяне было дзесьці пісаць - 324 00:15:52,460 --> 00:15:54,670 ALI: Ці нешта пісаць. 325 00:15:54,670 --> 00:15:56,780 ROB: Я мог бы проста нейкая тыпу ў гэтым. 326 00:15:56,780 --> 00:15:59,045 ALI: тып на самым версе. 327 00:15:59,045 --> 00:16:01,390 ROB: О, я сяджу на мікрафон. 328 00:16:01,390 --> 00:16:10,860 >> Такім чынам, мы бачылі ў лекцыі, што ASCII значэнне для сталіцы складае 65 гадоў. 329 00:16:10,860 --> 00:16:13,670 І капіталу B будзе 66, і так далей. 330 00:16:13,670 --> 00:16:20,860 Такім чынам, вы літаральна можаце выкарыстоўваць 'A' для абазначэння ліку 65. 331 00:16:20,860 --> 00:16:24,600 Маўляў, гэта значэнне 65. 332 00:16:24,600 --> 00:16:30,950 Я магу зрабіць нешта накшталт Int х = 100 - 'A'. А зараз х будзе мець значэнне 333 00:16:30,950 --> 00:16:33,810 100 - 65. 334 00:16:33,810 --> 00:16:36,708 ALI: Вы можаце бегчы, што і паказаць, што. 335 00:16:36,708 --> 00:16:38,420 Ну, можа быць, няма. 336 00:16:38,420 --> 00:16:38,600 Нічога. 337 00:16:38,600 --> 00:16:40,970 ROB: Я павінен быў раздрукаваць яго. 338 00:16:40,970 --> 00:16:43,730 SPEAKER 10: Як ператварыць яго назад у характары? 339 00:16:43,730 --> 00:16:46,800 ALI: Так што калі вы не - 340 00:16:46,800 --> 00:16:51,450 Вы проста прымусіць яго быць знак, роўныя. 341 00:16:51,450 --> 00:16:53,630 ROB: Так што ёсць - 342 00:16:53,630 --> 00:16:58,440 Адрозненне паміж сімвалаў і цэлае толькі з пункту гледжання памеру. 343 00:16:58,440 --> 00:17:01,230 Такім чынам, цэлае бывае, каб мець магчымасць прадстаўляць рэчы 344 00:17:01,230 --> 00:17:02,600 на, быццам бы, чатыры мільярды. 345 00:17:02,600 --> 00:17:05,839 Сімвал можа толькі прадстаўляць рэчы аж да 255. 346 00:17:05,839 --> 00:17:08,390 Але няма ніякай розніцы паміж імі, акрамя гэтага. 347 00:17:08,390 --> 00:17:12,339 Такім чынам, можна сказаць, сімвал з = 65. 348 00:17:12,339 --> 00:17:24,204 Гэта раўнасільна таму, сімвал з роўным 'A'. 349 00:17:24,204 --> 00:17:25,210 ALI: О, няма. 350 00:17:25,210 --> 00:17:26,710 Гэта не рэальна зэканоміць рэчы. 351 00:17:26,710 --> 00:17:28,130 ROB: Не, вы не можаце гэтага зрабіць. 352 00:17:28,130 --> 00:17:31,610 ALI: Гэта проста - 353 00:17:31,610 --> 00:17:34,920 [Стогны] 354 00:17:34,920 --> 00:17:40,700 >> ROB: Добра, так што Алі быў проста напісаў праграму, якая спачатку друкуе 100 - 355 00:17:40,700 --> 00:17:46,290 'A' як цэлы лік, якое было 35, як мы чакаем, таму што 100 мінус ASCII 356 00:17:46,290 --> 00:17:48,580 значэнне роўна 65. 357 00:17:48,580 --> 00:17:54,100 Потым раздрукаваць з дапамогай% C, што азначае, інтэрпрэтаваць яго як знак. 358 00:17:54,100 --> 00:17:57,050 Так што 100 - гэта 35. 359 00:17:57,050 --> 00:18:00,990 Інтэрпрэтацыя, што ў якасці сімвала, здараецца, хэш-сімвала. 360 00:18:00,990 --> 00:18:06,160 Калі вы паглядзіце на asciitable.com або любы іншы, вы ўбачыце, што 35 з'яўляецца 361 00:18:06,160 --> 00:18:07,410 хэш-сімвала. 362 00:18:09,940 --> 00:18:12,700 ALI: Добра, любыя іншыя тлумачэнні аб праблеме? 363 00:18:16,000 --> 00:18:18,180 Добра, вы, хлопцы, можаце пайсці далей і зрабіць гэта тады. 364 00:18:18,180 --> 00:18:20,330 Не саромейцеся задаваць пытанні ці размаўляць адзін з адным. 365 00:18:20,330 --> 00:18:24,390 Ці, калі вы ўжо зрабілі, вы можаце расслабіцца. 366 00:18:24,390 --> 00:18:29,640 >> Лукас: Ці з'яўляюцца яны таго ж класа, усе малыя літары ў парадку і 367 00:18:29,640 --> 00:18:32,923 Таксама загалоўнымі таксама ў парадку, таму што гэта нешта карыснае для 368 00:18:32,923 --> 00:18:33,990 праблемы. 369 00:18:33,990 --> 00:18:35,620 ALI: Добры пытанне, Лукас. 370 00:18:35,620 --> 00:18:37,430 Такім чынам, вы, хлопцы, усё гэта ўзяў? 371 00:18:37,430 --> 00:18:37,640 SPEAKER 11: Так. 372 00:18:37,640 --> 00:18:39,535 Вось як вы гэта робіце, ці не так? 373 00:18:39,535 --> 00:18:39,960 ALI: Дакладна. 374 00:18:39,960 --> 00:18:40,415 ROB: Так. 375 00:18:40,415 --> 00:18:47,270 SPEAKER 11: [неразборліва] 376 00:18:47,270 --> 00:18:48,330 ALI: Усе правільна. 377 00:18:48,330 --> 00:18:49,350 ROB: Якое пытанне пытаецеся? 378 00:18:49,350 --> 00:18:50,590 Проста для пераўтварэнні - 379 00:18:50,590 --> 00:18:52,560 ALI: пераўтварэнне ніжняга рэгістра ў верхні рэгістр. 380 00:18:52,560 --> 00:18:53,100 Вось і ўсё. 381 00:18:53,100 --> 00:18:54,700 ROB: Добра. 382 00:18:54,700 --> 00:18:56,180 ALI: Ці павінны мы пісаць? 383 00:18:56,180 --> 00:18:59,340 Я думаю, мы проста глядзім на кагосьці іншага. 384 00:18:59,340 --> 00:19:07,140 ROB: Так што для тых, хто мог бы затрымацца, спосаб - 385 00:19:07,140 --> 00:19:15,160 калі ў мяне ёсць некаторы сімвал з, скажам, гэта адбываецца з літарай D. 386 00:19:15,160 --> 00:19:20,760 Так што цяпер, як я магу высветліць, якія літары алфавіту С? 387 00:19:20,760 --> 00:19:25,620 Ня D, але я маю на ўвазе, D, здараецца, чацвёртая літара алфавіту. 388 00:19:25,620 --> 00:19:28,910 І калі мы пачнем адлік з 0, то гэта трэцяя літара алфавіту. 389 00:19:28,910 --> 00:19:36,240 Так што, калі гэта 0, B = 1, C = 2, D 3, як я магу высветліць, унутр пазіцыі - 390 00:19:36,240 --> 00:19:40,780 якую пазіцыю ў алфавіце C знаходзіцца ў? 391 00:19:40,780 --> 00:19:42,333 У каго-небудзь ёсць ідэі? 392 00:19:42,333 --> 00:19:45,440 Алі: Я думаю, што ўсе яны кадавання. 393 00:19:45,440 --> 00:19:46,440 ROB: А як наконт першага? 394 00:19:46,440 --> 00:19:48,608 SPEAKER 12: Так што гэта, адняць першы? 395 00:19:48,608 --> 00:19:49,030 ROB: Так. 396 00:19:49,030 --> 00:19:49,950 ALI: Так, дзіўны. 397 00:19:49,950 --> 00:19:51,765 Такім чынам, можна зрабіць капітал D - 398 00:19:51,765 --> 00:19:52,840 ой, прабачце. 399 00:19:52,840 --> 00:19:55,620 Вы бераце характар ​​і адняць першую, як вы сказалі. 400 00:19:55,620 --> 00:20:03,940 ROB: D Так што, калі гэта нешта накшталт 68, і мы адымаем, што на 65, то атрымаем 401 00:20:03,940 --> 00:20:07,130 3, кажучы нам, што D з'яўляецца трэцяй літары алфавіту 402 00:20:07,130 --> 00:20:09,290 пачынаючы з 0. 403 00:20:09,290 --> 00:20:11,310 Такім чынам, вы можаце яго выкарыстоўваць. 404 00:20:11,310 --> 00:20:13,830 Цяпер мы ведаем, што літары алфавіту, з пункту гледжання 405 00:20:13,830 --> 00:20:16,060 загалоўныя літары, ці - 406 00:20:16,060 --> 00:20:18,330 мы маглі б зрабіць тое ж самае для малых літар, каб высветліць, што 407 00:20:18,330 --> 00:20:20,170 малыя пазіцыі мы цалі 408 00:20:20,170 --> 00:20:25,690 І мы можам выкарыстоўваць, каб затым пераўтварыць у верхні рэгістр дапамогай 409 00:20:25,690 --> 00:20:26,970 вельмі падобныя ідэі. 410 00:20:31,470 --> 00:20:32,670 Спытаеце прапановы? 411 00:20:32,670 --> 00:20:35,810 >> ALI: Хлопцы, вы - Пачакай, я не ведаю, як далёка вы, хлопцы. 412 00:20:35,810 --> 00:20:40,060 Ці большасць з вас зрабілі, вы ўсё яшчэ працуе, ты затрымаўся? 413 00:20:40,060 --> 00:20:42,020 Вы, хлопцы, можаце крычаць - 414 00:20:42,020 --> 00:20:42,330 затрымаўся. 415 00:20:42,330 --> 00:20:43,210 Адзін чалавек затрымаўся. 416 00:20:43,210 --> 00:20:43,560 Cool. 417 00:20:43,560 --> 00:20:44,700 Я, як правіла, затрымаўся, таксама. 418 00:20:44,700 --> 00:20:45,415 SPEAKER 13: я зрабіў. 419 00:20:45,415 --> 00:20:46,410 ALI: вы зрабілі? 420 00:20:46,410 --> 00:20:47,480 Добра. 421 00:20:47,480 --> 00:20:47,935 Гатова. 422 00:20:47,935 --> 00:20:49,300 SPEAKER 13: [неразборліва] 423 00:20:49,300 --> 00:20:50,600 ALI: Так, выдатна. 424 00:20:50,600 --> 00:20:53,720 Вы правяраеце, што гэта ў ніжнім рэгістры форме? 425 00:20:53,720 --> 00:20:56,730 Добра, халаднавата. 426 00:20:56,730 --> 00:20:59,882 Дзе знаходзяцца іншыя людзі? 427 00:20:59,882 --> 00:21:06,140 Дапамагло Ці гэта намёк дапамагчы вам, як і для не-прыліпанне сябе? 428 00:21:06,140 --> 00:21:09,778 SPEAKER 14: Не зусім, але толькі таму, што я не ведаю, я не 429 00:21:09,778 --> 00:21:11,590 пераварваннем яшчэ. 430 00:21:11,590 --> 00:21:12,640 ALI: Добра, халаднавата. 431 00:21:12,640 --> 00:21:13,431 Вы хочаце паспрабаваць - 432 00:21:13,431 --> 00:21:16,140 ці вы хочаце пайсці і пагаварыць? 433 00:21:16,140 --> 00:21:18,590 >> ROB: Тое, што я збіраюся сказаць, - 434 00:21:18,590 --> 00:21:19,890 так што выкарыстанне гэтага. 435 00:21:19,890 --> 00:21:22,650 Вы разумееце, як мы атрымалі тое, што становішча ў алфавіце 436 00:21:22,650 --> 00:21:24,820 Ліст знаходзіцца ў? 437 00:21:24,820 --> 00:21:30,616 SPEAKER 14: Такім чынам, калі вы паклалі рэчы ў адной цытаце, 438 00:21:30,616 --> 00:21:35,030 , Якая вяртае лік? 439 00:21:35,030 --> 00:21:37,100 ROB: Так. 440 00:21:37,100 --> 00:21:40,840 Яна будзе перакладзеная на ASCII значэнне ён прадстаўляе. 441 00:21:40,840 --> 00:21:43,350 Так што вы хочаце пайсці ў табліцы ASCII або што гэта такое? 442 00:21:46,456 --> 00:21:47,840 ALI: Толькі адзін з іх? 443 00:21:47,840 --> 00:21:49,970 ROB: Так. 444 00:21:49,970 --> 00:21:55,270 Таму, калі вы пакладзеце любой з гэтых знакаў, ігнаруючы шмат - 445 00:21:55,270 --> 00:21:56,450 ALI: [неразборліва] 446 00:21:56,450 --> 00:21:57,620 ROB: Так, з дапамогай курсора. 447 00:21:57,620 --> 00:21:58,380 ALI: Так. 448 00:21:58,380 --> 00:21:59,690 Гэта было захапляльнае. 449 00:21:59,690 --> 00:22:04,050 ROB: Такім чынам, ігнараванне гэтых тыя, злева, якія з'яўляюцца спецыяльнымі знакамі - 450 00:22:04,050 --> 00:22:08,520 калі вы пакладзеце любой з гэтых знакаў у адзінарныя двукоссі, то гэта будзе 451 00:22:08,520 --> 00:22:11,620 пераклад гэтага значэння злева. 452 00:22:11,620 --> 00:22:13,660 ALI: Гэта дзесятковы лік для яго. 453 00:22:13,660 --> 00:22:19,710 Гэта як матчы з 65, B 66, і вы заўважыце, што ўсе яны ў 454 00:22:19,710 --> 00:22:21,540 алфавітным парадку, што робіць розніцу. 455 00:22:21,540 --> 00:22:27,110 Так што, як кажа Роб, і раней, у гэтым кодзе, мы былі вылічэнні адлегласці ад 456 00:22:27,110 --> 00:22:29,610 Першая літара, як такой. 457 00:22:29,610 --> 00:22:32,820 І гэта будзе тое ж самае, будзь то верхні або ніжні рэгістр. 458 00:22:32,820 --> 00:22:38,390 ROB: Такім чынам, калі мы зрабілі D, 68 мінус 65, атрымліваем 3. 459 00:22:38,390 --> 00:22:42,370 Паколькі D складае тры пазіцыі ў алфавіце. 460 00:22:42,370 --> 00:22:46,680 ALI: Такім чынам, як бы вы перавесці, што больш, каб знайсці маленькую D? 461 00:22:46,680 --> 00:22:47,240 ROB: Так. 462 00:22:47,240 --> 00:22:52,230 Так што, калі ў мяне ёсць 3 цяпер, я ведаю, я хачу пайсці на тры літары - 463 00:22:52,230 --> 00:22:54,830 Мы, аказваецца, збіраецца маленькай цяпер, але, скажам, я хачу пайсці 3 464 00:22:54,830 --> 00:22:58,610 пазіцыі ў ніжнім рэгістры бок рэчаў. 465 00:22:58,610 --> 00:23:01,400 Так як я магу гэта зрабіць? 466 00:23:01,400 --> 00:23:04,240 Я ведаю, ніжні рэгістр складае 97. 467 00:23:04,240 --> 00:23:07,535 Так як я магу знайсці тры пазіцыі ў малых літар? 468 00:23:10,461 --> 00:23:11,934 >> SPEAKER 15: У мяне ёсць адно пытанне, на самай справе. 469 00:23:11,934 --> 00:23:12,425 ALI: Так, ісці наперад. 470 00:23:12,425 --> 00:23:14,880 SPEAKER 15: Дык на тое, гэта сапраўды не мае значэння, калі я ведаю, што гэта становішча, 471 00:23:14,880 --> 00:23:16,360 падабаецца, мне не патрэбна гэтая табліца. 472 00:23:16,360 --> 00:23:16,840 ROB: Не. 473 00:23:16,840 --> 00:23:19,380 Вам ніколі не давядзецца выкарыстоўваць любое з гэтых лікаў. 474 00:23:19,380 --> 00:23:23,670 І гэта важны момант у вашай праграме, што вы ніколі не павінны жорстка 475 00:23:23,670 --> 00:23:25,500 код любога з гэтых канстант. 476 00:23:25,500 --> 00:23:31,190 Выкарыстоўвайце 'A'. Ніколі не выкарыстоўвайце 65 ці 97. 477 00:23:31,190 --> 00:23:34,370 ALI: Тыя, хто называюць магіяй лікаў, і яны сапраўды заблытанай. 478 00:23:34,370 --> 00:23:37,080 Маўляў, пры адладцы кода, вы не маглі б успомніць, што 479 00:23:37,080 --> 00:23:38,020 Вы выкарыстоўвалі іх для. 480 00:23:38,020 --> 00:23:40,770 І для нас класіфікацыі кода, мы не ведаем, што 481 00:23:40,770 --> 00:23:41,750 Вы выкарыстоўваеце іх. 482 00:23:41,750 --> 00:23:44,815 Таму лепш, калі вы збіраецеся выкарыстаць знакі, так што робіць 483 00:23:44,815 --> 00:23:46,065 больш сэнсу для людзей. 484 00:23:49,460 --> 00:23:51,160 Добра, любыя іншыя пытанні? 485 00:23:51,160 --> 00:23:52,975 Больш людзей зрабілі, ці - 486 00:23:56,243 --> 00:23:57,493 Я думаю, мы можам праверыць. 487 00:23:59,870 --> 00:24:02,410 Гэта сапраўды жудасна, што вы можаце ўбачыць код людзей. 488 00:24:02,410 --> 00:24:04,970 ROB: Так. 489 00:24:04,970 --> 00:24:06,410 Мы не павінны гэтага рабіць. 490 00:24:06,410 --> 00:24:08,380 Мы не ведаем імёнаў людзей, альбо. 491 00:24:08,380 --> 00:24:10,940 ALI: О, так, добра, што робіць яго лепш, так што мы будзем яшчэ больш бесстаронні 492 00:24:10,940 --> 00:24:14,820 замест таго, каб проста выпадкова выбіраючы кагосьці. 493 00:24:14,820 --> 00:24:15,360 Не хвалюйцеся. 494 00:24:15,360 --> 00:24:16,265 Я не буду гэта рабіць. 495 00:24:16,265 --> 00:24:20,396 Калі ў вас ёсць выпадковыя рэчы, пра - не бяда. 496 00:24:20,396 --> 00:24:20,870 Добра. 497 00:24:20,870 --> 00:24:22,556 Як робяць людзі? 498 00:24:22,556 --> 00:24:26,950 >> SPEAKER 17: Так 9. радку павінна вывесці характар? 499 00:24:26,950 --> 00:24:27,430 ROB: Так. 500 00:24:27,430 --> 00:24:27,910 ALI: Так. 501 00:24:27,910 --> 00:24:30,770 Так што, калі вы ідзяце ўніз - 502 00:24:30,770 --> 00:24:32,200 ROB: Ой, не магу гэтага зрабіць. 503 00:24:32,200 --> 00:24:35,400 ALI: Вы ўбачыце, што ён надрукаваў хэш-сімвала. 504 00:24:35,400 --> 00:24:37,180 SPEAKER 17: О, усё ў парадку. 505 00:24:37,180 --> 00:24:41,290 ROB: Я думаю інакш, Вы можаце глядзець на рэчы мы друку двух 506 00:24:41,290 --> 00:24:42,540 сімвалы. 507 00:24:44,500 --> 00:24:47,740 Спачатку адзін Мы друкуем гэты ліст А. 508 00:24:47,740 --> 00:24:51,610 Наступны Мы друкуем толькі 65. 509 00:24:51,610 --> 00:24:54,450 Гэта, напэўна, крычаць на мяне за гэта. 510 00:24:54,450 --> 00:25:00,060 Таму, калі мы проста запусціць гэта, вы заўважыце, што яна друкуе абодва разы. 511 00:25:00,060 --> 00:25:02,070 Таму што мы просім гэта тое ж самае. 512 00:25:02,070 --> 00:25:07,840 Мы просім яго, каб надрукаваць літару А. І тады мы просім яго, каб друк 513 00:25:07,840 --> 00:25:13,820 № 65 інтэрпрэтуецца як сімвал, які тое ж самае. 514 00:25:13,820 --> 00:25:15,100 ALI: У вас ёсць што сказаць? 515 00:25:15,100 --> 00:25:18,150 О, я проста жартую, прабачце. 516 00:25:18,150 --> 00:25:20,640 Добра, як людзі - 517 00:25:20,640 --> 00:25:22,280 ROB: Мы можам проста прайсці праз гэта. 518 00:25:22,280 --> 00:25:25,250 >> ALI: Такім чынам, з чаго пачаць? 519 00:25:25,250 --> 00:25:26,500 Любы? 520 00:25:28,030 --> 00:25:34,486 Як намёк, што мы павінны атрымаць нешта ад людзей, ад typers. 521 00:25:34,486 --> 00:25:36,850 SPEAKER 18: [неразборліва] 522 00:25:36,850 --> 00:25:38,290 ALI: Ах ды, хуткі, выдатна. 523 00:25:38,290 --> 00:25:40,660 Такім чынам, мы набяром - 524 00:25:40,660 --> 00:25:41,670 Што мы друкуем? 525 00:25:41,670 --> 00:25:43,660 Любы? 526 00:25:43,660 --> 00:25:46,480 Ці я павінен проста ўвесці яго? 527 00:25:46,480 --> 00:25:47,530 Няўжо мы на самай справе ўвод - 528 00:25:47,530 --> 00:25:48,430 ROB: Вядома. 529 00:25:48,430 --> 00:25:50,990 ALI: Такім чынам, мы набяром Printf каб заахвоціць яго, так што мы можам быць 530 00:25:50,990 --> 00:25:54,810 падабаецца, дай мне знак. 531 00:25:54,810 --> 00:25:55,710 Добра, а што потым? 532 00:25:55,710 --> 00:25:56,664 Чаму яна гэта робіць? 533 00:25:56,664 --> 00:25:57,620 Роб: Я не ведаю. 534 00:25:57,620 --> 00:26:00,070 ALI: Добра. 535 00:26:00,070 --> 00:26:03,680 Так што цяпер, мы гаворым ім, каб даць нам характар. 536 00:26:03,680 --> 00:26:07,064 Але тады як жа вы на самой справе атрымаць гэты знак? 537 00:26:07,064 --> 00:26:10,060 SPEAKER 19: Выкарыстанне 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 Добра, так у чым жа розніца паміж радкоў і сімвалаў? 541 00:26:17,038 --> 00:26:20,020 SPEAKER 19: Радкі серыі, як масіў знакаў. 542 00:26:20,020 --> 00:26:21,910 >> ALI: Cool, так. 543 00:26:21,910 --> 00:26:25,550 Так што ў гэтай праблеме, нам трэба толькі разгледзець адзін знак за раз, так што 544 00:26:25,550 --> 00:26:28,400 мы толькі збіраемся рабіць GetChar для гэтага асобніка. 545 00:26:28,400 --> 00:26:32,400 ROB: Мы маглі б рэалізаваць функцыю, калі мы хочам, што ўзяў усю радок 546 00:26:32,400 --> 00:26:35,750 і падышоў радок і ўсё змянілася ніжняга рэгістра ў верхні рэгістр і ўсё 547 00:26:35,750 --> 00:26:37,380 верхняга рэгістра ў ніжні рэгістр. 548 00:26:37,380 --> 00:26:39,170 Але тут, мы проста просім Вас за адзін знак. 549 00:26:39,170 --> 00:26:42,800 Алі: Зараз у нас ёсць характар ​​тут, але тады мы павінны яго захаваць. 550 00:26:42,800 --> 00:26:45,070 І тады мы дадамо сімвал з - што? 551 00:26:45,070 --> 00:26:46,070 SPEAKER 20: Вызначэнне зменных. 552 00:26:46,070 --> 00:26:48,100 ALI: Так, менавіта так. 553 00:26:48,100 --> 00:26:49,585 Так што ў нас ёсць характар. 554 00:26:49,585 --> 00:26:51,766 Роб: Я думаю, што вы маглі б быць - 555 00:26:51,766 --> 00:26:55,630 Вы толькі тры месцы ў, таму ён крычыць на вас. 556 00:26:55,630 --> 00:27:01,300 >> ALI: Добра, прахалодна, цяпер, калі мы табуляцыі мноства, што адбываецца далей? 557 00:27:01,300 --> 00:27:02,550 Які наступны крок? 558 00:27:05,590 --> 00:27:08,870 ROB: Што наша праграма павінна зрабіць, гэта змяніць малой літары, каб 559 00:27:08,870 --> 00:27:10,130 загалоўнай літары. 560 00:27:10,130 --> 00:27:15,478 Што рабіць, калі я выпадкова ўвесці хэш-знакам? 561 00:27:15,478 --> 00:27:16,314 Хіба што - 562 00:27:16,314 --> 00:27:16,732 Алі: Гэта добры знак. 563 00:27:16,732 --> 00:27:18,270 Мы выкарыстоўваем гэта шмат. 564 00:27:18,270 --> 00:27:21,937 ROB: Гэта сапраўды рэч, я магу пераўтварыць у верхні рэгістр форме? 565 00:27:21,937 --> 00:27:23,070 SPEAKER 21: Не. 566 00:27:23,070 --> 00:27:24,070 ALI: Няма 567 00:27:24,070 --> 00:27:24,900 Мы павінны праверыць гэта. 568 00:27:24,900 --> 00:27:34,950 Такім чынам, мы можам мець, калі заява праверку, так што калі з больш 569 00:27:34,950 --> 00:27:37,410 або роўная a'строчная '- 570 00:27:37,410 --> 00:27:45,490 Такім чынам, калі мы паглядзім на графік, можна заўважыць, што яно павінна быць паміж тут, 571 00:27:45,490 --> 00:27:47,670 на 97 і малыя. 572 00:27:47,670 --> 00:27:52,110 І гэта можа быць любы з іх, і з крокам ўвесь шлях ўніз. 573 00:27:52,110 --> 00:27:55,200 А тут яшчэ г на 122. 574 00:27:55,200 --> 00:27:58,215 І яна павінна знаходзіцца паміж гэтымі двума значэннямі. 575 00:27:58,215 --> 00:27:59,700 Ці мае гэта сэнс? 576 00:27:59,700 --> 00:28:04,130 ROB: Дык што, калі з не паміж 97 і 122 - 577 00:28:04,130 --> 00:28:09,960 ці вы ніколі не павінны выкарыстоўваць гэтыя лічбы - калі з не паміж "а" і 578 00:28:09,960 --> 00:28:15,110 'Г', то гэта не з'яўляецца дапушчальным сымбалем для нас у верхні рэгістр. 579 00:28:15,110 --> 00:28:18,590 ALI: Так у кодзе формы, мы кажам, што калі з больш або роўная адной 580 00:28:18,590 --> 00:28:19,640 выпадку маленькай - 581 00:28:19,640 --> 00:28:21,270 нічога сабе, як ты кажаш? 582 00:28:21,270 --> 00:28:26,900 Добра, больш або роўна 'а' у ніжнім рэгістры, і яна павінна быць вышэй 583 00:28:26,900 --> 00:28:32,250 маленькая "г". Такім чынам, яна павінна быць менш або роўная ніжнім рэгістра 'Z'. 584 00:28:32,250 --> 00:28:35,300 Мы робім упэўнены, што гэта паміж імі. 585 00:28:35,300 --> 00:28:38,540 Тады мы можам працягваць з нашай шчаслівай код. 586 00:28:41,992 --> 00:28:43,360 Што? 587 00:28:43,360 --> 00:28:46,860 ROB: Я меркаваў, што мы б проста працягваць пытацца, калі мы, аказваецца, не маюць 588 00:28:46,860 --> 00:28:48,250 малой літары. 589 00:28:48,250 --> 00:28:51,130 ALI: О, я не ведаў пра гэта. 590 00:28:51,130 --> 00:28:52,820 Выбачайце. 591 00:28:52,820 --> 00:28:58,100 >> Такім чынам, калі мы збіраемся рабіць, як кажа Роб, і пераканацца, што - 592 00:28:58,100 --> 00:29:02,068 мы можам працягваць пытацца іх, тое, што мы павінны рабіць? 593 00:29:02,068 --> 00:29:02,994 SPEAKER 22: [неразборліва] 594 00:29:02,994 --> 00:29:03,530 ROB: Так. 595 00:29:03,530 --> 00:29:05,630 Мы павінны выкарыстоўваць свайго роду цыкл. 596 00:29:05,630 --> 00:29:12,900 Паколькі карыстальнік можа ўвесці што-небудзь няправільнае невымоўнае колькасць разоў. 597 00:29:12,900 --> 00:29:14,990 Такім чынам, вы можаце выкарыстоўваць цыкл. 598 00:29:14,990 --> 00:29:18,870 Мэта зрабі той час як цыкл - 599 00:29:18,870 --> 00:29:21,340 літаральна, адзіны раз за ўсё сваё жыццё вы будзеце калі-небудзь выкарыстоўваць рабіць- 600 00:29:21,340 --> 00:29:24,780 у той час як завесы, калі вы просіце для карыстацкага ўводу. 601 00:29:24,780 --> 00:29:28,260 Таму той факт, мы просім для карыстацкага ўводу тут намёк, што мы павінны 602 00:29:28,260 --> 00:29:29,660 выкарыстоўваць DO-цыклу. 603 00:29:29,660 --> 00:29:30,780 І чаму гэта? 604 00:29:30,780 --> 00:29:34,270 Таму што рабіць-пакуль пятля заўсёды адбываецца па крайняй меры, адзін раз. 605 00:29:34,270 --> 00:29:40,260 Таму, калі вы пытаеце, для ўводу дадзеных карыстачом, вы хочаце, каб гэта адбылося па крайняй меры, адзін раз. 606 00:29:40,260 --> 00:29:42,750 І потым, калі ўсё было паспяхова, можна працягваць. 607 00:29:42,750 --> 00:29:45,130 Калі няма, вярнуцца і спытаць яшчэ раз. 608 00:29:45,130 --> 00:29:48,950 >> ALI: Такім чынам, іншымі словамі, мы павінны зрабіць падзел. 609 00:29:48,950 --> 00:29:51,130 І так гэта кажу гэта, каб нешта зрабіць. 610 00:29:51,130 --> 00:29:53,890 Так Printf - 611 00:29:53,890 --> 00:29:57,490 раздрукаваць заявы, запрашэння, а таксама атрымаць сімвал, або спроба 612 00:29:57,490 --> 00:29:58,780 атрымаць характар. 613 00:29:58,780 --> 00:30:03,410 І тады мы павінны праверыць, калі ён сапраўды зрабіў гэта правільна. 614 00:30:03,410 --> 00:30:07,730 Такім чынам, мы дадамо ўмовы, то мы кажам, а потым у нас ёсць 615 00:30:07,730 --> 00:30:08,980 ўмоўны аператар. 616 00:30:11,600 --> 00:30:14,730 ROB: Але цяпер мы змянілі ход думкі. 617 00:30:14,730 --> 00:30:18,940 Цяпер мы першапачаткова казалі, калі з гэтага дыяпазону, гэта справядліва. 618 00:30:18,940 --> 00:30:23,340 Цяпер мы хочам звярнуць назад гэты працэс і казаць, калі з не знаходзіцца ў гэтым дыяпазоне, то мы 619 00:30:23,340 --> 00:30:25,020 неабходна стварыць рэзервовую рабіць рэчы зноў. 620 00:30:25,020 --> 00:30:25,900 ALI: О, так. 621 00:30:25,900 --> 00:30:31,720 ROB: Так што пакуль гэта не так, мы хочам вярнуцца назад і 622 00:30:31,720 --> 00:30:34,470 папрасіць іншага характару. 623 00:30:34,470 --> 00:30:36,880 Ці ўсё бачылі? 624 00:30:36,880 --> 00:30:38,830 Пытанняў з гэтай нагоды? 625 00:30:38,830 --> 00:30:39,400 Добра. 626 00:30:39,400 --> 00:30:43,480 >> Так што цяпер у нас ёсць дзеючы характар, што мы можам верхні рэгістр. 627 00:30:43,480 --> 00:30:47,150 ALI: Такім чынам, што наступным крокам для яго верхні рэгістр? 628 00:30:49,994 --> 00:30:51,890 SPEAKER 23: дадаць 32. 629 00:30:51,890 --> 00:30:52,600 ALI: Вы дадаеце - 630 00:30:52,600 --> 00:30:54,150 Прабачце, што? 631 00:30:54,150 --> 00:30:56,580 SPEAKER 23: Вы не можаце проста дадаць 32? 632 00:30:56,580 --> 00:31:02,360 ROB: Так што так, не з пункту гледжання магіі лікаў. 633 00:31:02,360 --> 00:31:04,610 Вы павінны выкарыстоўваць толькі адзінарныя двукоссі рэчы. 634 00:31:04,610 --> 00:31:06,450 SPEAKER 23: Добра, добра - 635 00:31:06,450 --> 00:31:07,250 Роб: Але вы можаце атрымаць 32 - 636 00:31:07,250 --> 00:31:11,870 ALI: Як Вы атрымаеце нумар 32, я думаю, гэта тое, што мы гаворым. 637 00:31:11,870 --> 00:31:18,060 SPEAKER 23: [неразборліва] 638 00:31:18,060 --> 00:31:22,158 ROB: Такім чынам, мы можам прыдумаць нумар 32 разам - 639 00:31:22,158 --> 00:31:24,468 SPEAKER 23: [неразборліва]? 640 00:31:24,468 --> 00:31:24,930 ROB: Так. 641 00:31:24,930 --> 00:31:28,540 Але калі мы збіраемся рабіць гэта ў два этапы мы рабілі раней з 642 00:31:28,540 --> 00:31:29,950 становішча рэчаў. 643 00:31:29,950 --> 00:31:36,910 Такім чынам, становішча ў алфавіце, што з здараецца, ёсць з мінусам малыя 644 00:31:36,910 --> 00:31:42,360 'А'. Так што, калі мы ўвайшлі ў ніжні рэгістр 'D', пазіцыя будзе 3. 645 00:31:42,360 --> 00:31:46,490 А зараз мы хочам, каб узяць рэчы з вялікай круг рэчаў. 646 00:31:46,490 --> 00:31:55,376 Так што цяпер наш новы C будзе 'A' капіталу плюс становішчы. 647 00:31:55,376 --> 00:32:00,090 Так што людзі бачаць, як гэта падводзіць нас - 648 00:32:00,090 --> 00:32:04,140 Мы рухаемся ад маленькай дыяпазон, дакладную глыбіню, мы былі ў гэты 649 00:32:04,140 --> 00:32:07,650 дыяпазону, і спускаючыся ў верхнім рэгістры дыяпазону, і збіраецца, што далёка 650 00:32:07,650 --> 00:32:10,610 у яе зноў, якая будзе такой жа характар, але цяпер 651 00:32:10,610 --> 00:32:12,550 верхні рэгістр. 652 00:32:12,550 --> 00:32:16,490 ALI: А для людзей, якія былі збітыя з панталыку тым, як ён толькі што сказаў, 32, 653 00:32:16,490 --> 00:32:20,390 у асноўным ён сумяшчаў абедзве гэтыя ў адным заяве. 654 00:32:20,390 --> 00:32:24,550 Такім чынам, эквівалентны спосаб запісу гэтага сказаць, што вы можаце проста выгляд 655 00:32:24,550 --> 00:32:28,190 замяніць пазіцыю, з мінусам ", і паклаў яго прама тут. 656 00:32:28,190 --> 00:32:31,330 Такім чынам, тое, што ён зрабіў, я не - 657 00:32:31,330 --> 00:32:44,510 сімвал newc = вялікія 'A' плюс з мінусам ніжні рэгістр 'A'. І таму, што алгебры, 658 00:32:44,510 --> 00:32:47,090 Вы можаце перамяшчаць іх. 659 00:32:47,090 --> 00:32:52,960 Можна таксама сказаць, што вы можаце перамясціць яго вакол так сімвал newc = вялікія 'A' 660 00:32:52,960 --> 00:32:55,620 мінус ніжні рэгістр 'A' плюс с. 661 00:32:55,620 --> 00:32:58,650 І гэта, вы заўважыце, калі мы вернемся да графіка. 662 00:33:01,160 --> 00:33:06,300 У нас ёсць верхні рэгістр складае 65 і ніжні рэгістр складае 97. 663 00:33:06,300 --> 00:33:09,800 Такім чынам, 65 - 97, -32. 664 00:33:09,800 --> 00:33:10,020 >> Прывітанне. 665 00:33:10,020 --> 00:33:10,930 Сядайце. 666 00:33:10,930 --> 00:33:12,180 Ох. 667 00:33:16,240 --> 00:33:17,980 Вы можаце сядзець прама тут. 668 00:33:17,980 --> 00:33:20,805 Крута, добра, дзіўны. 669 00:33:20,805 --> 00:33:22,390 Сардэчна запрашаем у падзел. 670 00:33:22,390 --> 00:33:25,110 Вы заўважыце, што розніца складае 32. 671 00:33:25,110 --> 00:33:28,150 Дык вось адкуль у яго гэты нумар. 672 00:33:28,150 --> 00:33:32,140 Але гэта не так, як Роб кажа, лепшы спосаб зрабіць гэта, таму што яна мае дзіўнае 673 00:33:32,140 --> 00:33:35,260 Магія блытаніны нумар. 674 00:33:35,260 --> 00:33:38,710 ROB: Вы павінны выкарыстоўваць капітал мінус ніжні рэгістр. 675 00:33:38,710 --> 00:33:43,045 Вы не павінны выкарыстоўваць толькі прамыя 32. 676 00:33:43,045 --> 00:33:45,020 SPEAKER 24: Чаму, што, зноў? 677 00:33:45,020 --> 00:33:49,860 Чаму б вам не выкарыстоўваць 32? 678 00:33:49,860 --> 00:33:55,630 ALI: Калі мы гэта зрабілі, гэта было б сімвал newc = -32 + с. 679 00:33:55,630 --> 00:34:00,030 І калі вы не бачыце ў астатнім, калі гэта ўсё сышло, і вы 680 00:34:00,030 --> 00:34:04,720 проста ўбачыць гэтую адну лінію, то, як вы ведаеце, што 32 з'яўляецца адмоўным? 681 00:34:04,720 --> 00:34:07,000 Гэта проста недарэчна. 682 00:34:07,000 --> 00:34:10,360 ROB: Так што ваша праграма будзе працаваць цалкам нармальна. 683 00:34:10,360 --> 00:34:12,960 Гэта проста стыль рэч. 684 00:34:12,960 --> 00:34:17,760 Хтосьці збіраецца ў і чытанне вашага кода, яны як тое, што робіць 32 маеш на ўвазе? 685 00:34:17,760 --> 00:34:18,889 Можа быць, яны не - 686 00:34:18,889 --> 00:34:22,090 Я, верагодна, не адразу разумееш, што 32 бывае 687 00:34:22,090 --> 00:34:25,100 Розніца паміж малой літары і вялікія літары, хоць 688 00:34:25,100 --> 00:34:26,510 Мы збіраемся выкарыстаць гэты факт у наступнай праблеме. 689 00:34:30,210 --> 00:34:31,610 32, - 690 00:34:31,610 --> 00:34:38,579 Вы можаце пакінуць каментар вышэй кажа 32 з'яўляецца розніца паміж 691 00:34:38,579 --> 00:34:45,290 'A' і '.' Але ў той момант, чаму б не выкарыстоўваць 'A' і 'а', і вы 692 00:34:45,290 --> 00:34:47,469 не маюць патрэбы ў каментары часу. 693 00:34:47,469 --> 00:34:52,739 >> ALI: Гэта проста спосабы над ім шмат чысцей, стыль стрэлкі. 694 00:34:52,739 --> 00:34:54,590 І так, паколькі вы толькі пачынаеце праграмаванне - 695 00:34:54,590 --> 00:34:57,775 ці я думаю, няма, так як вы хакер EDI - не бяда. 696 00:34:57,775 --> 00:34:59,420 Гэта проста добры спосаб ёсць - 697 00:34:59,420 --> 00:35:01,230 лепш мець лепшую стылі. 698 00:35:01,230 --> 00:35:02,850 Гэта прасцей для іншых людзей, каб чытаць. 699 00:35:02,850 --> 00:35:06,560 ROB: Вы ніколі не павінны памятаць табліцу ASCII, ніколі. 700 00:35:06,560 --> 00:35:09,505 Вы проста павінны быць у стане выкарыстаць адну двукоссе. 701 00:35:12,390 --> 00:35:12,730 Пытанні? 702 00:35:12,730 --> 00:35:13,980 ALI: Усё добра? 703 00:35:16,020 --> 00:35:16,430 ROB: Добра. 704 00:35:16,430 --> 00:35:23,320 Так што ў наступны праблема з'яўляецца істотнай. 705 00:35:23,320 --> 00:35:24,660 Такім чынам, наступная задача патрабуе ад нас - 706 00:35:27,880 --> 00:35:31,570 ALI: Наступная праблема не просіць нас зрабіць тое ж самае, але выкарыстаць 707 00:35:31,570 --> 00:35:32,640 Бітаў аператары. 708 00:35:32,640 --> 00:35:35,170 ROB: І, вядома, мы не бачылі бітаў аператары пакуль няма. 709 00:35:35,170 --> 00:35:38,874 Таму мы зараз абмяркуем тыя. 710 00:35:38,874 --> 00:35:39,540 ALI: быць распачатыя. 711 00:35:39,540 --> 00:35:41,490 Яны супер весела. 712 00:35:41,490 --> 00:35:47,927 >> ROB: Так рэгулярных аператараў, такіх як х плюс у, мінус, множанне, дзяленне. 713 00:35:47,927 --> 00:35:50,850 ALI: Калі ласка, увядзіце яго ў гэтым радку. 714 00:35:50,850 --> 00:35:55,420 Роб: Там таксама%, калі вы яшчэ не бачылі яго, якое можна выкарыстаць у 715 00:35:55,420 --> 00:35:57,130 Сімвал адсотка. 716 00:35:57,130 --> 00:35:59,090 Але мы не будзем выкарыстоўваць іх для гэтай праблемы. 717 00:35:59,090 --> 00:36:01,400 Мы хочам выкарыстаць бітаў аператары. 718 00:36:01,400 --> 00:36:06,250 Цяпер памятаеце, мы прывезлі яго ў лекцыі адзін. 719 00:36:06,250 --> 00:36:10,760 Я не ўпэўнены, калі мы абмяркоўвалі двайковай далей. 720 00:36:10,760 --> 00:36:13,710 Але памятайце, што кожнае лік ўяўляецца - 721 00:36:13,710 --> 00:36:14,540 Ну, усё - 722 00:36:14,540 --> 00:36:17,860 прадстаўлена ў 1 і 0 у двайковым выглядзе. 723 00:36:17,860 --> 00:36:27,320 Такім чынам, гэта азначае, што калі я кажу, № 8, я ведаю, што гэта 724 00:36:27,320 --> 00:36:30,240 як, 1000. 725 00:36:30,240 --> 00:36:35,530 Што бітаў аператары паведаміце нам зрабіць, гэта працаваць на гэтых бітаў - 726 00:36:35,530 --> 00:36:37,000 будзе працаваць на гэтых бітаў напрамую. 727 00:36:40,160 --> 00:36:42,490 Цяпер я ўжо не справа ў дачыненні да васьмі. 728 00:36:42,490 --> 00:36:45,930 Я маю справу з пункту гледжання 1000, і я хачу зрабіць нешта з тымі, 729 00:36:45,930 --> 00:36:47,670 асобных бітаў. 730 00:36:47,670 --> 00:36:52,520 Так Алі напісаў бітаў аператары тут, але that's - 731 00:36:55,060 --> 00:36:58,020 Нумар 8, мы будзем выкарыстоўваць як адзін з нашых нумароў прыклад. 732 00:36:58,020 --> 00:37:02,980 А двайковым прадстаўленнем 1000. 733 00:37:02,980 --> 00:37:06,520 Мы будзем выкарыстоўваць іншы нумар, 5 - 734 00:37:06,520 --> 00:37:12,070 на самай справе мы будзем выкарыстоўваць 9 і 5. 735 00:37:12,070 --> 00:37:15,778 І 5 у двайковым прадстаўленні 00 - 736 00:37:15,778 --> 00:37:18,380 0101. 737 00:37:18,380 --> 00:37:19,480 Алі: Ці ўсё добра на гэтым? 738 00:37:19,480 --> 00:37:21,040 Двайковы рэчы? 739 00:37:21,040 --> 00:37:23,740 Менавіта ад першай лекцыі? 740 00:37:23,740 --> 00:37:29,070 >> ROB: Так што нават калі вы не зусім на вяршыні, як пераўтварыць рэчы 741 00:37:29,070 --> 00:37:31,700 двайковы, гэта не зусім важна для гэтай праблемы. 742 00:37:31,700 --> 00:37:36,560 Мы будзем выкарыстоўваць гэта, але вы будзеце мець значна больш шанцаў высветліць, як 743 00:37:36,560 --> 00:37:39,250 хутка змяніць сітуацыю ў двайковы. 744 00:37:39,250 --> 00:37:43,820 Такім чынам, выкарыстоўваючы 9 і 5, зараз у нас ёсць бітавых аператары. 745 00:37:43,820 --> 00:37:48,620 Так, і яшчэ, 9 і 5, калі гэта цэлы лік, то на самай справе гэта 32 біт, 746 00:37:48,620 --> 00:37:53,150 якая азначае, што мы як 0, 0, 0, 0 шмат разоў, то 747 00:37:53,150 --> 00:37:55,330 101 на самага канца. 748 00:37:55,330 --> 00:37:58,530 Гэта проста, таму што, незалежна ад таго, што вы робіце, у цэлых лічбах, 32 біт. 749 00:37:58,530 --> 00:38:01,570 Проста таму, што нам трэба толькі чатыры біта ўяўляюць 9 не значыць, што мы не 750 00:38:01,570 --> 00:38:05,500 з выкарыстаннем да другога 27 біт толькі для 0s. 751 00:38:05,500 --> 00:38:10,110 ALI: Проста каб растлумачыць, адно з гэтых лікаў гэта 0 або 1, няшмат. 752 00:38:10,110 --> 00:38:11,830 Гэта адна 4 біта. 753 00:38:11,830 --> 00:38:14,320 Як жа так Роб сказаў, што машыны захоўваць іх у 32. 754 00:38:14,320 --> 00:38:19,430 Такім чынам, то яны будуць мець 32 альбо 0, альбо 1. 755 00:38:19,430 --> 00:38:22,190 Крута? 756 00:38:22,190 --> 00:38:23,610 ROB: бітаў аператары. 757 00:38:23,610 --> 00:38:27,310 Першае, што мы будзем мець справу з, давайце зробім &. 758 00:38:27,310 --> 00:38:31,260 Так што калі мы робім 9 і 5. 759 00:38:31,260 --> 00:38:38,310 Так што і робіць гэта, па макулінках, ён параўноўвае біты з двух лікаў 760 00:38:38,310 --> 00:38:44,860 і калі абодва ліку роўныя 1, то яна верне 1. 761 00:38:44,860 --> 00:38:50,870 Калі гэта 0, а іншы роўны 1, або абодва 0s, то яна вяртае 0. 762 00:38:50,870 --> 00:38:53,060 Такім чынам, вы можаце думаць пра гэта як лагічныя НСРА. 763 00:38:53,060 --> 00:38:59,270 Як трэба Верны і Праўдзівы, каб вярнуцца дакладна, але праўдзівым і ілжывым з'яўляецца ілжывым. 764 00:38:59,270 --> 00:39:02,390 Так што гэта тое ж самае, але зараз мы маем справу з ёй толькі з бітамі. 765 00:39:02,390 --> 00:39:04,910 >> ALI: Дык што, калі вы паглядзіце на гэта, вы будзеце мець 1 - 766 00:39:04,910 --> 00:39:08,490 Вы выбудаваць іх, так што гэта будзе 1 і 0. 767 00:39:08,490 --> 00:39:11,036 Вы, хлопцы, думаеце, што было б - што б гэта ацаніць, каб? 768 00:39:11,036 --> 00:39:11,770 SPEAKER 25: 1. 769 00:39:11,770 --> 00:39:12,270 ALI: Круто. 770 00:39:12,270 --> 00:39:16,850 Ці не. 771 00:39:16,850 --> 00:39:18,830 Выбачайце. 772 00:39:18,830 --> 00:39:21,290 Так што гэта мае сэнс? 773 00:39:21,290 --> 00:39:23,200 Так што гэта калектыўны адказ зноў? 774 00:39:23,200 --> 00:39:24,750 Выбачайце. 775 00:39:24,750 --> 00:39:27,530 Так што, калі ў нас 1 і 0, тое, што вы атрымліваеце? 776 00:39:27,530 --> 00:39:30,260 ROB: Так вы думаеце, як вы кажаце, і ўслых. 777 00:39:30,260 --> 00:39:37,550 Калі ў вас ёсць два біта х і у, неабходна х і ў роўным 1, для таго, 778 00:39:37,550 --> 00:39:40,770 ацаніць, дакладна - ці для таго, каб яго ацаніць, 1. 779 00:39:40,770 --> 00:39:45,650 Калі х і ў роўныя 0, то яно ацэньваецца як ілжывае або 0. 780 00:39:45,650 --> 00:39:49,165 Лукас: Гэта добра, каб памятаць таксама, што 1 з'яўляецца сапраўдным і 0 няправільна. 781 00:39:49,165 --> 00:39:51,684 Так што калі ў вас ёсць сапраўднае і ілжывае, гэта хлусня. 782 00:39:51,684 --> 00:39:53,570 Але потым, праўда і праўда, праўда. 783 00:39:53,570 --> 00:39:55,040 Ілжывыя і ілжыва, фальшыва. 784 00:39:55,040 --> 00:39:57,650 ALI: у нас ёсць сапраўднае і ілжывае. 785 00:39:57,650 --> 00:39:58,530 Такім чынам, 1 і 0. 786 00:39:58,530 --> 00:40:00,380 Такім чынам, зноў жа, прабачце, яшчэ раз? 787 00:40:00,380 --> 00:40:02,210 SPEAKER 25: Было бы 0. 788 00:40:02,210 --> 00:40:03,560 Так, крута. 789 00:40:03,560 --> 00:40:05,400 І тады мы маем 0 і 1 - 790 00:40:05,400 --> 00:40:06,260 SPEAKER 25: [неразборліва] 791 00:40:06,260 --> 00:40:06,680 ALI: Так. 792 00:40:06,680 --> 00:40:09,790 Такім чынам, вы заўсёды можаце абмяняць іх на - 793 00:40:09,790 --> 00:40:12,150 Тады, калі ў вас ёсць 0 і 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: Так гэта 0. 797 00:40:16,230 --> 00:40:18,870 Гэта не тое, што абодва нумары павінны быць аднолькавымі. 798 00:40:18,870 --> 00:40:22,030 Гэта што абодва нумары павінны быць 1. 799 00:40:22,030 --> 00:40:26,150 ALI: Так як ёсць, каб быць праўдай для таго, каб быць праўдай. 800 00:40:26,150 --> 00:40:26,950 Так што гэта 0. 801 00:40:26,950 --> 00:40:30,540 І тады ў вас ёсць 1% 1, які з'яўляецца? 802 00:40:30,540 --> 00:40:32,640 ROB: Гэта даволі добрыя лічбы. 803 00:40:32,640 --> 00:40:34,362 У іх ёсць усе магчымасці - 804 00:40:34,362 --> 00:40:36,210 ALI: Добрая праца, нічога сабе. 805 00:40:36,210 --> 00:40:37,080 Добра, халаднавата. 806 00:40:37,080 --> 00:40:39,220 Ці так гэта сэнс для ўсіх? 807 00:40:39,220 --> 00:40:41,770 >> ROB: Такім чынам, зараз мы будзем рабіць |. 808 00:40:41,770 --> 00:40:51,650 І гэта будзе вельмі падобна, але зараз замест х і ў якія маюць патрэбу ў 809 00:40:51,650 --> 00:40:54,880 быць 1 для таго, каб ацаніць да аднаго, то гэта проста х ці 810 00:40:54,880 --> 00:40:56,360 У павінна быць 1. 811 00:40:56,360 --> 00:40:59,580 ALI: Так 1 | 0 вылічаецца - 812 00:40:59,580 --> 00:41:00,270 КЛАС: 1. 813 00:41:00,270 --> 00:41:01,690 ALI: Круто. 814 00:41:01,690 --> 00:41:03,710 0 | 1 вылічае - 815 00:41:03,710 --> 00:41:04,420 КЛАС: 1. 816 00:41:04,420 --> 00:41:06,726 ALI: Cool, а затым 0 | 0 - 817 00:41:06,726 --> 00:41:07,600 КЛАС: 0. 818 00:41:07,600 --> 00:41:09,320 Алі: Так, а потым 1 | 1 - 819 00:41:09,320 --> 00:41:10,180 КЛАС: 1. 820 00:41:10,180 --> 00:41:12,090 ALI: Круто. 821 00:41:12,090 --> 00:41:14,060 Дык вось, як дзве бітаў аператары. 822 00:41:14,060 --> 00:41:15,430 Awesome. 823 00:41:15,430 --> 00:41:16,440 ROB: Такім чынам, зараз мы будзем рабіць ^. 824 00:41:16,440 --> 00:41:18,470 ALI: мы павінны зрабіць усё, што ад іх? 825 00:41:18,470 --> 00:41:20,620 ROB: Так, таму што я думаю, што мы збіраемся яго выкарыстоўваць - 826 00:41:20,620 --> 00:41:22,340 выкарыстанне іх усіх. 827 00:41:22,340 --> 00:41:23,150 ALI: Добра. 828 00:41:23,150 --> 00:41:23,570 Так што - 829 00:41:23,570 --> 00:41:25,540 Роб: Я думаю, мы не павінны. 830 00:41:25,540 --> 00:41:31,830 ALI: Так ^ работ у тым, што вы павінны мець роўна адзін праўдзівы і адна хлусня. 831 00:41:31,830 --> 00:41:34,330 ^ Ці азначае выключае АБО. 832 00:41:34,330 --> 00:41:36,650 Так што зараз гэта не так - 833 00:41:36,650 --> 00:41:41,220 Калі X і Y роўныя 1, то цяпер ілжывым. 834 00:41:41,220 --> 00:41:46,920 Гэта значыць розніца паміж ^ і |, з'яўляецца тое, што OR, вы можаце мець, калі х 835 00:41:46,920 --> 00:41:49,440 праўда ці ў дакладная, то мы добрыя. 836 00:41:49,440 --> 00:41:55,176 Не, кажа, што калі ^ х, праўда, у павінна быць ілжывым, ці ж гэта не так. 837 00:41:55,176 --> 00:41:56,814 У вас ёсць пытанне? 838 00:41:56,814 --> 00:42:00,526 >> SPEAKER 26: [неразборліва] 839 00:42:00,526 --> 00:42:00,990 ALI: Так. 840 00:42:00,990 --> 00:42:01,830 Гэта збольшага падобна. 841 00:42:01,830 --> 00:42:07,320 ROB: Так, таму, калі вы дабярэцеся да гэтай нізкаўзроўневага рэчы, гэтыя 842 00:42:07,320 --> 00:42:10,870 віды аперацый вы маеце справу з. 843 00:42:10,870 --> 00:42:13,200 На апаратным узроўні, вы будзеце мець справу толькі з бітамі. 844 00:42:13,200 --> 00:42:14,950 Вы не мець справу з лікамі. 845 00:42:18,030 --> 00:42:23,502 ALI: Добра, для ^, або, калі ў вас ёсць 1 = 0, то, што павінна ацаніць, што для? 846 00:42:23,502 --> 00:42:24,840 КЛАС: 1. 847 00:42:24,840 --> 00:42:25,480 ALI: Круто. 848 00:42:25,480 --> 00:42:26,010 Калі ў вас ёсць 849 00:42:26,010 --> 00:42:28,370 0 ^ 1? КЛАС: 1. 850 00:42:28,370 --> 00:42:29,490 ALI: Круто. 851 00:42:29,490 --> 00:42:32,050 0 ^ 0? 852 00:42:32,050 --> 00:42:32,470 Cool. 853 00:42:32,470 --> 00:42:33,460 І тады 1 ^ 1? 854 00:42:33,460 --> 00:42:35,050 КЛАС: 0. 855 00:42:35,050 --> 00:42:37,710 ALI: Cool, дзіўны. 856 00:42:37,710 --> 00:42:38,620 Наступны - 857 00:42:38,620 --> 00:42:40,520 Роб: Я думаю, што гэта ўсё, што мы маем справу з. 858 00:42:40,520 --> 00:42:41,490 Мы будзем рабіць толькі гэта. 859 00:42:41,490 --> 00:42:43,242 ALI: адзіны раз, калі мы павінны рабіць - 860 00:42:43,242 --> 00:42:44,912 ROB: О, гэта будзе ў апошні праблемы. 861 00:42:44,912 --> 00:42:47,070 SPEAKER 27: Пачакайце, яшчэ раз? 862 00:42:47,070 --> 00:42:47,940 ALI: Выбачайце, які быў ваш пытанне? 863 00:42:47,940 --> 00:42:49,564 >> SPEAKER 27: Ці можаце вы растлумачыць, што зноў? 864 00:42:49,564 --> 00:42:50,100 ^? 865 00:42:50,100 --> 00:42:51,490 SPEAKER 27: Exclus - так. 866 00:42:51,490 --> 00:42:55,800 ALI: Дык што выключае АБО азначае, што там павінен быць выключна 867 00:42:55,800 --> 00:43:02,970 адно сапраўднае і адно ілжывае, так што 1 і адзін 0, у параўнанні з OR, вы можаце мець - 868 00:43:02,970 --> 00:43:06,170 адна з іх, каб быць праўдай, або абодва з іх можа быць праўдай, таму што 869 00:43:06,170 --> 00:43:07,130 Для ацэнкі да ісціны. 870 00:43:07,130 --> 00:43:10,030 SPEAKER 27: Такім чынам, 0 і 0 было б ілжывым. 871 00:43:10,030 --> 00:43:10,450 ALI: Так. 872 00:43:10,450 --> 00:43:11,780 Але калі ў вас 1 | 873 00:43:11,780 --> 00:43:14,290 1, будзе роўна праўда. 874 00:43:14,290 --> 00:43:18,210 Але калі ў вас ёсць 1 ^ 1, як мы зрабілі, што ХЛУСНЯ. 875 00:43:18,210 --> 00:43:21,220 Таму што гэта не толькі адна праўда. 876 00:43:21,220 --> 00:43:26,930 ROB: І гэта можа ці не можа быць карысным, але звернеце ўвагу, што гэта ^ 877 00:43:26,930 --> 00:43:28,890 роўна проста прымаць | 878 00:43:28,890 --> 00:43:30,290 І мінус. 879 00:43:30,290 --> 00:43:32,250 І вы можаце думаць пра гэта такім чынам. 880 00:43:32,250 --> 00:43:37,290 ^ Толькі ORing ўсе разам, але, прымаючы любы з бітаў, дзе 881 00:43:37,290 --> 00:43:38,610 як было дакладна. 882 00:43:38,610 --> 00:43:41,620 Так і вяртае ўсе, дзе абодва былі праўдай. 883 00:43:41,620 --> 00:43:45,850 | Вяртае ўсё, дзе адзін або абодва былі праўдай. 884 00:43:45,850 --> 00:43:51,050 Так аднімання з | дае вам ^. 885 00:43:51,050 --> 00:43:52,040 ALI: Ёсць пытанні? 886 00:43:52,040 --> 00:43:53,290 Гэта было шмат інфармацыі. 887 00:43:55,980 --> 00:43:57,510 Усё добра? 888 00:43:57,510 --> 00:44:00,360 >> ROB: Мы можам пайсці па наступным тыя, для наступнай задачы, скараціць 889 00:44:00,360 --> 00:44:01,680 у які час гэта? 890 00:44:01,680 --> 00:44:04,010 Яны не маюць патрэбы ў гэтым да наступнай праблемай. 891 00:44:04,010 --> 00:44:07,830 Алі: Я думаў, што гэта. 892 00:44:07,830 --> 00:44:08,830 ROB: Гэта не так. 893 00:44:08,830 --> 00:44:10,085 Алі: Вы ўпэўнены? 894 00:44:10,085 --> 00:44:11,300 ROB: Так, я ўпэўнены. 895 00:44:11,300 --> 00:44:12,970 Алі: Чаму б нам не пачаць рабіць наступны праблема? 896 00:44:15,710 --> 00:44:19,790 Праблема, зноў жа, змяніць яго з ніжняга рэгістра ў верхні рэгістр, і гэта 897 00:44:19,790 --> 00:44:21,720 час, каб выкарыстоўваць бітаў аператары. 898 00:44:21,720 --> 00:44:22,970 ROB: Такім чынам, мы - 899 00:44:25,290 --> 00:44:29,670 Давайце пачнем з двайковым прадстаўленнем 'A', капітал 'A', 900 00:44:29,670 --> 00:44:31,750 якіх складае 65 гадоў. 901 00:44:31,750 --> 00:44:36,150 Такім чынам, у падвоеным - 902 00:44:39,960 --> 00:44:47,900 так 'A' = 65, які =, у падвоеным - 903 00:44:47,900 --> 00:44:51,380 Я збіраюся сапсаваць лік 0s - то. 904 00:44:51,380 --> 00:44:53,670 ALI: Ці значыць гэта сэнс для ўсіх? 905 00:44:53,670 --> 00:44:57,620 Так, 1, няма 2s, не 4s, не 8s, няма - 906 00:45:00,238 --> 00:45:07,075 не 16, не 32s, а затым адзін 64. 907 00:45:07,075 --> 00:45:08,685 ROB: Так, я думаю, што гэта занадта шмат 0s. 908 00:45:08,685 --> 00:45:09,600 ALI: Выбачайце. 909 00:45:09,600 --> 00:45:13,410 >> ROB: Такім чынам, у нас ёсць 64-мноства, і ў нас ёсць 1 камплект, і аб'яднанне гэтых 910 00:45:13,410 --> 00:45:16,030 разам, атрымліваем 65. 911 00:45:16,030 --> 00:45:17,470 ALI: Cool фасоль? 912 00:45:17,470 --> 00:45:19,640 ROB: Так што цяпер, ніжні рэгістр 'A' - 913 00:45:22,220 --> 00:45:24,260 заўважыў 97 - 914 00:45:24,260 --> 00:45:26,370 У чым розніца паміж 97 і 65? 915 00:45:26,370 --> 00:45:27,530 SPEAKER 28: 32. 916 00:45:27,530 --> 00:45:28,130 ROB: Так. 917 00:45:28,130 --> 00:45:35,920 Так што гэта 32, якая з'яўляецца яго ўласным трохі, так што гэта будзе 110001. 918 00:45:35,920 --> 00:45:41,200 І гэта будзе справядліва для ўсіх магчымых знакаў. 919 00:45:41,200 --> 00:45:49,800 Такім чынам, калі мы думаем пра 'D', які будзе 68, што гэта будзе 1000011. 920 00:45:49,800 --> 00:45:56,310 А потым малыя 'D' будзе 68 плюс 32, што складае 100, якое з'яўляецца 921 00:45:56,310 --> 00:46:00,010 будзе тое ж самае, што гэта было, проста пстрыкаючы 922 00:46:00,010 --> 00:46:04,300 32 раз, таму 1100011. 923 00:46:04,300 --> 00:46:08,610 Такім чынам, розніца паміж вялікімі і малымі літарамі проста гартаць 924 00:46:08,610 --> 00:46:10,170 што 32-бітныя становішча. 925 00:46:10,170 --> 00:46:17,670 SPEAKER 29: Хіба гэта не 1000100? 926 00:46:17,670 --> 00:46:19,670 ROB: Пачакайце, гэта 100 - 927 00:46:19,670 --> 00:46:20,480 тое, што я зрабіў не так. 928 00:46:20,480 --> 00:46:21,730 Гэта было не так. 929 00:46:28,710 --> 00:46:31,150 Я думаў, што гэта была розніца ў 3, так што потым я проста затрымаўся 930 00:46:31,150 --> 00:46:33,970 двайковы 3 у канцы. 931 00:46:33,970 --> 00:46:36,710 Гэта павінна быць у парадку. 932 00:46:36,710 --> 00:46:37,150 ALI: Дзякуй. 933 00:46:37,150 --> 00:46:38,080 Апісанне ўказанне на гэта. 934 00:46:38,080 --> 00:46:40,320 Гэта быў востры. 935 00:46:40,320 --> 00:46:43,450 Усе правы, ясна людзям? 936 00:46:43,450 --> 00:46:45,700 >> ROB: розніца паміж вялікімі і малымі версія 937 00:46:45,700 --> 00:46:49,250 заўсёды проста будзе 32, і таму ён заўсёды будзе адзін біт 938 00:46:49,250 --> 00:46:51,840 , Якая павінна быць перавернутая для пераключэння паміж імі. 939 00:46:51,840 --> 00:46:54,330 ALI: Так што ў гэтым выпадку, ведаючы розніцы паміж сталіцай і 940 00:46:54,330 --> 00:46:57,130 маленькая гэта добра. 941 00:46:57,130 --> 00:47:01,950 Не ў кодзе, але канцэптуальна па крайняй меры, гэта добра. 942 00:47:01,950 --> 00:47:05,880 Такім чынам, вы, хлопцы, можаце ісці наперад і кода, які ў прасторах цяпер. 943 00:47:05,880 --> 00:47:08,580 Ці мы павінны проста абмеркаваць гэта? 944 00:47:08,580 --> 00:47:09,760 ROB: Мы можам проста абмеркаваць гэта. 945 00:47:09,760 --> 00:47:10,680 Я не ведаю. 946 00:47:10,680 --> 00:47:11,680 Вы, хлопцы, можаце паспрабаваць. 947 00:47:11,680 --> 00:47:13,560 Размовы пра сярод сабе на некаторы час. 948 00:47:13,560 --> 00:47:16,390 Мы дамо вам магчымасць кадавання. 949 00:47:16,390 --> 00:47:17,640 [Прамежкавыя VOICES] 950 00:47:19,785 --> 00:47:22,695 ALI: - прахалодна 951 00:47:22,695 --> 00:47:26,590 SPEAKER 30: Гэта як хакер камедыі. 952 00:47:26,590 --> 00:47:31,060 Алі: Так, мы проста кажу навіны, прайшоўшы праз гэта. 953 00:47:31,060 --> 00:47:32,310 >> Роб: І мы вярнуліся. 954 00:47:34,950 --> 00:47:35,405 ALI: Гэта дзіўна. 955 00:47:35,405 --> 00:47:38,720 Я адчуваю, што мы павінны мець CS50 станцыі навіна, і мы маглі 956 00:47:38,720 --> 00:47:41,500 на самай справе сядзяць, як гэта. 957 00:47:41,500 --> 00:47:43,500 ROB: Hacker News. 958 00:47:43,500 --> 00:47:46,848 ALI: Hacker News 50. 959 00:47:46,848 --> 00:47:49,210 ALI: Не саромейцеся задаваць любыя пытанні, калі вы збянтэжаныя. 960 00:47:52,280 --> 00:47:53,980 ROB: Хто-небудзь затрымаліся? 961 00:47:53,980 --> 00:47:57,160 Алі: Так, гэта добрая рэч. 962 00:47:57,160 --> 00:47:58,590 ALI: Пачакайце, вы затрымаліся ў вашым крэсле? 963 00:47:58,590 --> 00:48:01,010 Ох. 964 00:48:01,010 --> 00:48:02,260 Я быў трохі зацікаўлены. 965 00:48:06,670 --> 00:48:12,150 ROB: Таму што я проста зразумеў, што мы збіраемся хочаце 966 00:48:12,150 --> 00:48:13,300 іншы аператар пабітава. 967 00:48:13,300 --> 00:48:16,985 А цяпер давайце проста канвертаваць вялікіх і малых літар. 968 00:48:23,280 --> 00:48:25,220 ALI: На жаль, не ўсё атрымліваюць, што абвяшчэнне? 969 00:48:25,220 --> 00:48:27,755 Мы збіраемся, каб перайсці ад вялікіх і малых літар. 970 00:48:27,755 --> 00:48:30,990 ROB: Тады мы будзем абмяркоўваць ніжняга рэгістра ў верхні адразу пасля гэтага. 971 00:48:33,820 --> 00:48:36,650 О, няма. 972 00:48:36,650 --> 00:48:39,560 У нас ёсць памылка ў гэтым, які, я думаю, мы ніколі не спрабаваў уцячы. 973 00:48:39,560 --> 00:48:44,140 Якія гэта ўсяго толькі сімвал з павінна быць аб'яўлена па-за цыклу, таму што 974 00:48:44,140 --> 00:48:45,805 сфера яго прымянення абмежаваная ў пятлю. 975 00:48:49,200 --> 00:48:53,060 SPEAKER 32: У дадзеным выпадку, гэта няправільна выкарыстоўваць нумар? 976 00:48:53,060 --> 00:48:56,930 ROB: Эх, вам не трэба. 977 00:48:56,930 --> 00:49:02,040 Калі я гарантаваны, што капітал 'A' - ці, ніжні рэгістр "а" мінус капітал 'A' 978 00:49:02,040 --> 00:49:09,340 быў роўна адзін біт, але вы не ведаеце, што гэта 32 - 979 00:49:09,340 --> 00:49:13,160 усё будзе працаваць так жа добра, калі б 16-бітнай, якое было перавернута - ці 980 00:49:13,160 --> 00:49:14,610 Не, я думаю, гэта wouldn't - 981 00:49:14,610 --> 00:49:18,270 або 64 біт былі перавернутыя, магчыма. 982 00:49:18,270 --> 00:49:23,230 Але вы не павінны выкарыстоўваць 32. 983 00:49:23,230 --> 00:49:26,141 Вы маглі б замест гэтага выкарыстоўваць ніжні рэгістр 'A''' мінус капіталу. 984 00:49:26,141 --> 00:49:29,340 >> SPEAKER 32: Добра. 985 00:49:29,340 --> 00:49:32,996 Што вы можаце зрабіць, калі вы адчуваеце, як вы пішаце занадта шмат, што вы можаце вызначыць яго 986 00:49:32,996 --> 00:49:33,435 у верхняй частцы. 987 00:49:33,435 --> 00:49:41,830 Такім чынам, вы можаце быць, як, розніца INT = ніжні рэгістр 'A''' мінус капіталу. І 988 00:49:41,830 --> 00:49:43,980 Затым вы можаце ўвесці розніцу замест гэтага. 989 00:49:43,980 --> 00:49:45,110 Вось у сіле. 990 00:49:45,110 --> 00:49:48,002 Але толькі з дапамогай нумар 32 гэта свайго роду - 991 00:49:48,002 --> 00:49:51,104 SPEAKER 33: Нават калі гэта з-за таго, што гэта 32-разрадная? 992 00:49:51,104 --> 00:49:52,570 ALI: Так. 993 00:49:52,570 --> 00:49:54,960 ROB: Там можа быць - 994 00:49:54,960 --> 00:49:57,780 Адзінай гарантыяй нам трэба зрабіць вам, што розніца паміж 995 00:49:57,780 --> 00:49:59,480 малыя і вялікія з'яўляецца адзін біт. 996 00:49:59,480 --> 00:50:04,670 Гэта не павінна мець значэння, што адбываецца з 32-бітнай які перавярнуўся. 997 00:50:04,670 --> 00:50:06,610 За час меркаванняў, мы пачнем збіраецца з гэтай нагоды. 998 00:50:09,170 --> 00:50:10,370 Нічога страшнага, калі вы яшчэ не скончылі. 999 00:50:10,370 --> 00:50:13,090 Не турбуйцеся пра гэта. 1000 00:50:13,090 --> 00:50:16,260 ROB: мяркуецца, што з сабой літары - 1001 00:50:16,260 --> 00:50:18,030 Мы не павінны лічыць гэта з вялікай літары. 1002 00:50:18,030 --> 00:50:20,750 Мы ведаем, што з з'яўляецца загалоўная літара, пасля гэтага час цыклу - 1003 00:50:20,750 --> 00:50:22,160 Зрабі цыклу. 1004 00:50:22,160 --> 00:50:28,590 Такім чынам, гэта азначае, што выглядае прыкладна так 'A'. Таму калі мы хочам давесці гэта 1005 00:50:28,590 --> 00:50:32,895 'А' да гэтага 'а', што нам трэба рабіць? 1006 00:50:36,890 --> 00:50:41,920 Так як жа нам пераўтварыць і перавярнуць крыху? 1007 00:50:48,040 --> 00:50:49,450 ALI: Як мы перавярніце яго? 1008 00:50:49,450 --> 00:50:53,010 >> ROB: Такім чынам, мы ведаем, што мы хочам, каб перавярнуць 32 біт. 1009 00:50:53,010 --> 00:50:59,722 Так што будзем рабіць "а" мінус "А", ці мы маглі б напісаць 32, але - 1010 00:50:59,722 --> 00:51:03,090 палкі, гэта наадварот. 1011 00:51:03,090 --> 00:51:07,250 ALI: Добра, дык вось гэта Роб разліку гэтага ліку, магічнае лік 32. 1012 00:51:07,250 --> 00:51:12,000 Такім чынам, ён высветліць, дзе што трохі фліп вобласці будзе. 1013 00:51:12,000 --> 00:51:14,810 А тое, што мы ставім пытанне, дзе знакі? 1014 00:51:14,810 --> 00:51:16,740 ROB: Як мы перавернем гэты біт? 1015 00:51:16,740 --> 00:51:22,784 З пункту гледжання вялікай літары, гэта 0, і мы хочам стаць 1. 1016 00:51:22,784 --> 00:51:23,660 SPEAKER 34: |. 1017 00:51:23,660 --> 00:51:24,910 ROB: Так. 1018 00:51:28,780 --> 00:51:38,190 Так што гэта нам кажа, што мы ўзяць 'A'. Мы ORing яго з 0 - 1019 00:51:38,190 --> 00:51:40,750 1000 - 1020 00:51:40,750 --> 00:51:44,720 і што = то. 1021 00:51:44,720 --> 00:51:45,930 ALI: Ці мае гэта сэнс для ўсіх? 1022 00:51:45,930 --> 00:51:48,812 Мы можам прайсці праз гэта па крупінках, калі хочаце. 1023 00:51:52,030 --> 00:51:56,300 SPEAKER 35: Вы [неразборліва]? 1024 00:51:56,300 --> 00:51:57,590 ALI: Дзе знакам мінус? 1025 00:51:57,590 --> 00:51:58,500 ROB: О, вы маеце на ўвазе тут? 1026 00:51:58,500 --> 00:51:59,070 ALI: О, так. 1027 00:51:59,070 --> 00:52:00,140 ROB: Я думаю, гэта нам. 1028 00:52:00,140 --> 00:52:05,670 Мы маглі б сказаць 32, і цяпер мы проста з дапамогай пабітава аператара. 1029 00:52:05,670 --> 00:52:07,010 Алі: Нам не падабаецца магія лікаў. 1030 00:52:07,010 --> 00:52:10,460 Мы не збіраемся гэтага рабіць. 1031 00:52:10,460 --> 00:52:13,592 Акрамя таго, я думаю, што мы павінны проста выкарыстоўваць аператар пабітава - 1032 00:52:13,592 --> 00:52:19,042 SPEAKER 36: Калі вы выкарыстоўваеце ^, вы будзеце атрымліваць 32? 1033 00:52:19,042 --> 00:52:19,980 SPEAKER 37: Так, я думаю - 1034 00:52:19,980 --> 00:52:21,090 ROB: Так, вы будзеце. 1035 00:52:21,090 --> 00:52:23,320 Алі: Гэта, як вы зрабілі б гэта для выезду 1036 00:52:23,320 --> 00:52:25,370 ад сталіцы ў ніжні рэгістр. 1037 00:52:25,370 --> 00:52:31,130 >> Цяпер любы можа сказаць мне, чаму Роб і я змяніў радок, і як мы пайшлі 1038 00:52:31,130 --> 00:52:34,040 з вялікіх малымі, а малыя ў 1039 00:52:34,040 --> 00:52:37,810 верхні рэгістр, як мы рабілі раней? 1040 00:52:37,810 --> 00:52:44,520 Хто-небудзь ёсць якія-небудзь ідэі, чаму гэта можа быць складаней? 1041 00:52:44,520 --> 00:52:44,880 ROB: Дык што мы зробім - 1042 00:52:44,880 --> 00:52:46,178 ALI: Так, ісці наперад. 1043 00:52:46,178 --> 00:52:49,640 SPEAKER 38: | Аператар было толькі сапраўды добры для дадання. 1044 00:52:49,640 --> 00:52:51,200 ALI: Так, менавіта так. 1045 00:52:51,200 --> 00:52:58,320 ROB: Такім чынам, што мы хочам зрабіць у ніжняга рэгістра ў верхні выпадку, 1046 00:52:58,320 --> 00:53:00,175 пераўтварыць гэта 'а' - 1047 00:53:08,540 --> 00:53:14,820 такім чынам, мы хочам пакласці ў некаторых нумарах тут і выкарыстоўваць некаторыя аператара так, каб ён 1048 00:53:14,820 --> 00:53:21,910 з да капіталу А. Мы ўсё яшчэ, верагодна, з выкарыстаннем 32 так ці інакш, але цяпер, як мы робім 1049 00:53:21,910 --> 00:53:25,280 атрымаць гэта, каб выйсці на гэта? 1050 00:53:40,910 --> 00:53:42,750 Такім чынам, з - 1051 00:53:42,750 --> 00:53:44,000 ой, я ўсё яшчэ хачу, што занадта - 1052 00:53:46,940 --> 00:53:51,055 ALI: Так што цяпер, калі мы пераўтварэння з ніжняга рэгістра ў верхні зноў, то мы 1053 00:53:51,055 --> 00:53:55,170 зрабіць ^ аперацыю, як вы, хлопцы сказалі. 1054 00:53:55,170 --> 00:53:57,650 ROB: Ёсць і іншыя спосабы вы можаце рабіць рэчы. 1055 00:53:57,650 --> 00:54:01,680 Шматлікія аператары пабітава ў канчатковым выніку вельмі лёгка вызначаюцца ў тэрмінах 1056 00:54:01,680 --> 00:54:03,460 іншыя аператары пабітава. 1057 00:54:03,460 --> 00:54:11,150 Так што я збіраюся, каб не выкарыстоўваць ^ або на ўсіх, але ^ працаваў выдатна. 1058 00:54:11,150 --> 00:54:17,910 >> ALI: Добра, мы збіраемся пайсці на апошняй праблемы, якая з'яўляецца асноўным - 1059 00:54:17,910 --> 00:54:22,390 Апошняя праблема заключаецца ў пераўтварэнні нешта ў двайковы. 1060 00:54:22,390 --> 00:54:26,350 Так, напрыклад, у вас ёсць 50, а затым пераўтварыць яго ў 1061 00:54:26,350 --> 00:54:31,400 двайковы, які з'яўляецца 110010. 1062 00:54:31,400 --> 00:54:36,010 І я думаю, што вы, хлопцы, усе ведаюць пра бінарных ад лекцыі. 1063 00:54:36,010 --> 00:54:39,270 І вы таксама не павінны ставіць любы вядучай 0s ў ёй. 1064 00:54:39,270 --> 00:54:41,460 ROB: Вы можаце ігнараваць гэтую частку на дадзены момант. 1065 00:54:41,460 --> 00:54:45,250 На першым этапе, вы можаце зрабіць гэта так, каб было вядучым 0s. 1066 00:54:45,250 --> 00:54:49,200 І тады мы можам змяніць, што не маюць вядучых 0s, калі ў нас ёсць час. 1067 00:54:49,200 --> 00:54:50,630 ALI: Так што не турбуйцеся пра гэта. 1068 00:54:50,630 --> 00:54:52,620 Паспрабуйце атрымаць у двайковай сістэме. 1069 00:54:55,880 --> 00:54:59,855 Добрае месца для пачатку было б - 1070 00:54:59,855 --> 00:55:02,010 ROB: Мы павінны папрасіць цэлае. 1071 00:55:02,010 --> 00:55:03,150 ALI: О так, гэта добра. 1072 00:55:03,150 --> 00:55:04,170 Мы можам пачаць з гэтага. 1073 00:55:04,170 --> 00:55:06,870 Такім чынам, вы можаце змяніць радок. 1074 00:55:06,870 --> 00:55:08,840 Такім чынам, замест характар, зараз мы маем справу з цэлымі лікамі. 1075 00:55:13,670 --> 00:55:14,920 Крута? 1076 00:55:20,630 --> 00:55:25,300 >> ROB: І што цяпер наша зрабі той час як умова будзе? 1077 00:55:25,300 --> 00:55:27,750 Ён просіць неадмоўнае цэлае лік. 1078 00:55:31,080 --> 00:55:34,280 Алі: Калі мы хочам захаваць з дапамогай якога карыстальнік нешта іншае? 1079 00:55:34,280 --> 00:55:35,950 Калі гэта менш, чым 0. 1080 00:55:35,950 --> 00:55:36,760 ALI: Дакладна. 1081 00:55:36,760 --> 00:55:38,010 ROB: У той час я менш 0. 1082 00:55:41,090 --> 00:55:45,120 Алі: Зараз мы хочам, каб пераўтварыць яго. 1083 00:55:45,120 --> 00:55:48,150 Вы, хлопцы, ёсць якія-небудзь ідэі, што рабіць? 1084 00:55:48,150 --> 00:55:49,400 Любыя намёкі? 1085 00:55:53,610 --> 00:55:54,984 Так. 1086 00:55:54,984 --> 00:55:57,344 SPEAKER 39: Ці ёсць у нас, каб пераўтварыць яго, ці мы можам проста надрукаваць некаторыя 0 і 1 1087 00:55:57,344 --> 00:55:58,760 , Які быў бы правільны нумар? 1088 00:55:58,760 --> 00:56:02,070 Не маглі б вы зрабіць для завесы і адлічваць па ступенях 2? 1089 00:56:02,070 --> 00:56:03,320 ROB: Так. 1090 00:56:05,750 --> 00:56:08,425 Вам не трэба канвертаваць я ў двайковай - 1091 00:56:08,425 --> 00:56:13,720 двайковага прадстаўлення я не змяшчаецца ўсярэдзіне я. 1092 00:56:13,720 --> 00:56:19,090 Вам проста трэба раздрукаваць двайковага прадстаўлення я. 1093 00:56:19,090 --> 00:56:21,010 ALI: Іншымі словамі, вы не павінны ісці па ступенях двойкі. 1094 00:56:21,010 --> 00:56:23,710 ROB: Таму што я ўжо захоўваюцца ў выглядзе бінарных файлаў, таму вам не трэба 1095 00:56:23,710 --> 00:56:25,110 пераўтварыць яго ў двайковы фармат. 1096 00:56:25,110 --> 00:56:27,260 Проста зайдзіце на яго двайковы, і раздрукаваць яго. 1097 00:56:30,080 --> 00:56:32,140 І вы будзеце мець патрэбу, каб выкарыстоўваць пабітава, таму што вы хочаце паглядзець на 1098 00:56:32,140 --> 00:56:33,390 фактычныя біты. 1099 00:56:37,060 --> 00:56:38,600 Вам не трэба выкарыстоўваць пабітава, але, калі ласка. 1100 00:56:44,130 --> 00:56:47,160 І гэта на самай справе - 1101 00:56:47,160 --> 00:56:50,200 Вы проста можаце зрабіць ступенях двойкі, памножыўшы на 2. 1102 00:56:50,200 --> 00:56:55,120 Мы пойдзем па адным з двух апошніх бінарныя аператары пабітава 1103 00:56:55,120 --> 00:56:56,410 якія гэтым. 1104 00:56:56,410 --> 00:56:58,730 Таму, калі вы бераце - 1105 00:56:58,730 --> 00:57:00,083 >> ALI: Ці можаце вы прайсці праз іх абодвух? 1106 00:57:00,083 --> 00:57:01,440 ROB: Так. 1107 00:57:01,440 --> 00:57:03,050 Такім чынам, давайце з 9. 1108 00:57:03,050 --> 00:57:05,210 Такім чынам, 9 зрух налева 1 - 1109 00:57:05,210 --> 00:57:12,220 што зрух налева сродкі проста перамясціць ўсе біты налева і ўставіць 0. 1110 00:57:12,220 --> 00:57:15,530 Такім чынам, мы рухаемся усё біты ад 9 да левага 1111 00:57:15,530 --> 00:57:20,240 становішча, якое дае нам - 1112 00:57:26,530 --> 00:57:31,570 Так, заўважце, мы перайшлі ўсе пакінулі аднаго, і ўставіў 0 на 1113 00:57:31,570 --> 00:57:32,730 правая бок. 1114 00:57:32,730 --> 00:57:36,755 Калі б мы зрушваецца налева на два, мы хацелі б перакласці ўсё пакінулі па два, 1115 00:57:36,755 --> 00:57:41,950 і ўстаўце 2 0s, каб запоўніць прабелы. 1116 00:57:41,950 --> 00:57:43,200 Пытанне? 1117 00:57:44,890 --> 00:57:47,510 ALI: Такім чынам зрух направа робіць падобную рэч. 1118 00:57:47,510 --> 00:57:53,190 Калі ў вас ёсць 9 Зрух направа 1, то вы проста рухаюцца усё на 1119 00:57:53,190 --> 00:57:57,890 Права, вы губляеце лічбы, такім чынам, 100 замест. 1120 00:57:57,890 --> 00:58:04,142 ROB: Такім чынам, вы гэта выдатна, што вы губляеце трохі, што здарылася, усё 1121 00:58:04,142 --> 00:58:05,200 да ўпора направа. 1122 00:58:05,200 --> 00:58:08,850 Існуюць розныя тыпы правых зрухаў, але ў прынцыпе вы можаце думаць 1123 00:58:08,850 --> 00:58:11,410 Зрух направа, як толькі дзяленнем на 2. 1124 00:58:11,410 --> 00:58:14,430 І вы можаце думаць аб зрухам налева, як памножыць на 2. 1125 00:58:14,430 --> 00:58:16,490 Так што калі вы ператварылі гэты - 1126 00:58:16,490 --> 00:58:22,350 Калі перавесці 9 зруху 1, якая роўная 10010, калі вы на самой справе адбылося 1127 00:58:22,350 --> 00:58:25,100 праз двайковыя і зразумеў, што гэта было, было б проста 18. 1128 00:58:25,100 --> 00:58:26,880 Мы проста памножыць на 2. 1129 00:58:26,880 --> 00:58:30,982 1001 левы Shift 2 будзе 36. 1130 00:58:30,982 --> 00:58:32,400 Мы памножыць на 4. 1131 00:58:41,740 --> 00:58:45,360 Добра, прахалодна, так што гэта зручна аператару пабітава для гэтага. 1132 00:58:52,570 --> 00:58:53,330 Больш за блытаніны? 1133 00:58:53,330 --> 00:58:54,870 Вы, хлопцы, жадаеце паспрабаваць? 1134 00:58:54,870 --> 00:58:58,970 Ці мы можам проста перайсці ў правым і запусціць яго? 1135 00:58:58,970 --> 00:59:01,140 ROB: Мы, верагодна, варта перайсці прама цалі 1136 00:59:01,140 --> 00:59:01,880 ALI: Так, добра. 1137 00:59:01,880 --> 00:59:03,370 Роб: І прайсці праз гэта разам. 1138 00:59:03,370 --> 00:59:04,440 >> ALI: Ну, я проста пайду ў яе. 1139 00:59:04,440 --> 00:59:09,700 Так што, як ён сказаў у пачатку, што мы збіраемся проста прайсці па крупінках. 1140 00:59:09,700 --> 00:59:11,890 Так што мы збіраемся мець патрэбу ў пятлю. 1141 00:59:11,890 --> 00:59:16,730 Хто-небудзь ёсць ідэя лепшы выгляд цыклу, каб прайсці праз гэта? 1142 00:59:16,730 --> 00:59:20,544 У нас у той час як завесы, зрабі той час як завесы, для завес. 1143 00:59:20,544 --> 00:59:22,400 SPEAKER 40: Do-час цыклу? 1144 00:59:22,400 --> 00:59:25,150 ROB: Такім чынам, памятаеце, што я казаў пра тое, мы выкарыстоўваем толькі рабіць-а 1145 00:59:25,150 --> 00:59:27,390 завесамі, каб атрымаць карыстацкі ўвод. 1146 00:59:27,390 --> 00:59:30,890 Вы ніколі не будзеце ў значнай ступені калі-небудзь выкарыстоўваць іх для чаго-небудзь яшчэ. 1147 00:59:30,890 --> 00:59:33,660 ALI: Праблема з рабіць-а завес ён робіць нешта, перш чым яна правярае 1148 00:59:33,660 --> 00:59:34,470 стане. 1149 00:59:34,470 --> 00:59:36,540 Такім чынам, ён можа зрабіць нешта дрэннае - 1150 00:59:36,540 --> 00:59:38,640 падабаецца, балюча - 1151 00:59:38,640 --> 00:59:40,350 зрабіць тое, што гэта не магчыма. 1152 00:59:40,350 --> 00:59:42,290 Такім чынам, вы хочаце праверыць у першую чаргу. 1153 00:59:42,290 --> 00:59:47,620 ROB: Там вельмі шмат выпадкаў, калі вы можаце выкарыстоўваць зрабі той час як завесы, але людзі 1154 00:59:47,620 --> 00:59:52,120 не чакаю, што вы выкарыстоўваць іх, калі гэта карыстацкі ўвод. 1155 00:59:52,120 --> 00:59:54,215 Такім чынам, мы выкарыстоўвалі наш зрабі той час як цыкл, каб атрымаць я. 1156 00:59:57,160 --> 01:00:01,260 Колькі раз наш цыкл захоча цыклу? 1157 01:00:01,260 --> 01:00:04,060 Мы хочам, каб цыкл па кожнаму з бітаў я. 1158 01:00:04,060 --> 01:00:06,302 Колькі бітаў у I? 1159 01:00:06,302 --> 01:00:07,266 SPEAKER 41: 32. 1160 01:00:07,266 --> 01:00:07,750 ALI: Так. 1161 01:00:07,750 --> 01:00:09,850 ROB: Такім чынам, ёсць 32 біт. 1162 01:00:09,850 --> 01:00:12,920 Мы не хочам сказаць, 32. 1163 01:00:12,920 --> 01:00:16,230 Замест гэтага мы хочам сказаць SizeOf - 1164 01:00:16,230 --> 01:00:18,226 якія, вы бачылі, што ў класе яшчэ? 1165 01:00:18,226 --> 01:00:19,100 ALI: Не. 1166 01:00:19,100 --> 01:00:20,380 ROB: Чаму кажуць, што выкарыстоўваць - 1167 01:00:20,380 --> 01:00:22,160 SizeOf (INT) раз 8 - 1168 01:00:22,160 --> 01:00:23,530 ALI: Такім чынам, SizeOf ёсць - 1169 01:00:23,530 --> 01:00:27,050 >> SPEAKER 42: [неразборліва] 1170 01:00:27,050 --> 01:00:27,440 ALI: Цікава. 1171 01:00:27,440 --> 01:00:31,610 Такім чынам, SizeOf з'яўляецца ўбудаваны ў C функцыі, дзе яна проста кажа вам, 1172 01:00:31,610 --> 01:00:32,500 лік бітаў у - 1173 01:00:32,500 --> 01:00:33,220 ROB: Bytes. 1174 01:00:33,220 --> 01:00:34,210 ALI: Bytes, выбачайце - 1175 01:00:34,210 --> 01:00:39,990 лік байт, зменная для захоўвання значэння. 1176 01:00:39,990 --> 01:00:46,205 Так што я думаю, што ён перайшоў у клас, то Int складае 4 байта можа быць. 1177 01:00:46,205 --> 01:00:46,610 Крута? 1178 01:00:46,610 --> 01:00:50,610 ROB: Але вы не павінны ведаць, што Int складае 4 байта. 1179 01:00:50,610 --> 01:00:52,670 Вы павінны быць у стане сказаць - 1180 01:00:52,670 --> 01:00:55,870 Вы павінны выкарыстоўваць SizeOf (INT), каб атрымаць 4 байт. 1181 01:00:55,870 --> 01:00:59,170 І гэта на самай справе важна для некаторых рэчаў. 1182 01:00:59,170 --> 01:01:01,650 Int можа быць не 4 байт. 1183 01:01:01,650 --> 01:01:04,050 На іншым кампутары Int можа быць 8 байт. 1184 01:01:04,050 --> 01:01:08,500 Так што ваша праграма не будзе працаваць на кампутары, таму што вы жорстка 32 1185 01:01:08,500 --> 01:01:12,230 Біты, калі на гэтым кампутары адбываецца з 64 біт. 1186 01:01:12,230 --> 01:01:15,260 ALI: Такім чынам, у вас ёсць агульная колькасць бітаў, якія вы хочаце, каб разгарнуцца. 1187 01:01:15,260 --> 01:01:17,480 Роб: А розніца паміж байт і біт, што 1188 01:01:17,480 --> 01:01:19,100 8 біт у байце. 1189 01:01:19,100 --> 01:01:22,110 Такім чынам, SizeOf (INT) вяртае 4 байта, то мы павінны памножыць гэта 1190 01:01:22,110 --> 01:01:24,420 на 8, каб атрымаць 32 біт. 1191 01:01:24,420 --> 01:01:27,680 >> ALI: Такім чынам, мы ведаем, што максімальныя і мы ведаем, што мы хочам, каб перайсці ад - 1192 01:01:27,680 --> 01:01:29,260 Мы хочам, каб прайсці праз усе з іх. 1193 01:01:29,260 --> 01:01:32,950 Таму мы хочам, каб перайсці ад 0 да numBits. 1194 01:01:32,950 --> 01:01:37,160 Так хто-небудзь ведае, як напісаць цыкл для гэтага? 1195 01:01:37,160 --> 01:01:37,790 Любы? 1196 01:01:37,790 --> 01:01:39,680 SPEAKER 43: [неразборліва] 1197 01:01:39,680 --> 01:01:44,130 ALI: Такім чынам, вы хочаце, каб перасекчы нумар я з нулявога біта 1198 01:01:44,130 --> 01:01:47,840 Першы біт, другі біт, трэці біт, усе шляхі да numBits. 1199 01:01:47,840 --> 01:01:50,972 Максімальнае колькасць бітаў, якія вы можаце атрымаць. 1200 01:01:54,420 --> 01:01:57,780 ROB: Што агульнага цыклу мы выкарыстоўваем тое, што мы хочам зрабіць нешта х раз? 1201 01:01:57,780 --> 01:01:58,280 ALI: Для. 1202 01:01:58,280 --> 01:01:59,280 Perfect. 1203 01:01:59,280 --> 01:02:00,440 Такім чынам, у нас ёсць для. 1204 01:02:00,440 --> 01:02:05,242 І тады мы створым итератор, які не збіраецца быць я. 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 Таму мы пачнем з 0. 1208 01:02:09,740 --> 01:02:13,110 І тады мы будзем мець ўмова, каб пераканацца, пакуль вы 1209 01:02:13,110 --> 01:02:14,968 адбываецца праз яго кожны раз - 1210 01:02:14,968 --> 01:02:16,960 [Прамежкавыя VOICES] 1211 01:02:16,960 --> 01:02:17,960 ROB: J. 1212 01:02:17,960 --> 01:02:19,970 ALI: J менш, чым numBits. 1213 01:02:19,970 --> 01:02:23,680 Такім чынам, мы не хочам, каб зрабіць фактычна роўны адзінцы, таму што яны numBits 1214 01:02:23,680 --> 01:02:25,365 агульная, і мы пачынаем з 0. 1215 01:02:25,365 --> 01:02:26,360 Такім чынам, мы фактычна будзем мець - 1216 01:02:26,360 --> 01:02:27,400 SPEAKER 44: Oh. 1217 01:02:27,400 --> 01:02:29,300 ALI: індэксы не скончыцца ў numBits мінус 1. 1218 01:02:29,300 --> 01:02:34,070 ROB: Занумеруем біты ад 0 да 31, мы не маркіраваць іх ад 1 да 32. 1219 01:02:34,070 --> 01:02:36,970 ALI: А потым мы збіраемся павялічваць кожны раз на адзін, таму што мы хочам 1220 01:02:36,970 --> 01:02:38,050 праверыць усе да адзінага. 1221 01:02:38,050 --> 01:02:39,851 Такім чынам, мы пойдзем J + +. 1222 01:02:39,851 --> 01:02:42,740 >> SPEAKER 45: Чаму вы гэта робіце? 1223 01:02:42,740 --> 01:02:46,100 SPEAKER 46: Навошта вы едзеце праз кожны біт? 1224 01:02:46,100 --> 01:02:49,310 ROB: Таму мы хочам, каб прайсці праз кожны біт і - 1225 01:02:52,780 --> 01:02:55,100 Так скажам, у нас ёсць некаторы лік. 1226 01:02:55,100 --> 01:02:56,195 ALI: 68. 1227 01:02:56,195 --> 01:02:57,470 ROB: Мы можам выкарыстоўваць 68. 1228 01:02:57,470 --> 01:03:00,450 Такім чынам, двайковы гэта будзе 100100. 1229 01:03:00,450 --> 01:03:05,540 Так што гэта ўнутры мяне, і мы хочам перайсці на кожным з гэтых бітаў. 1230 01:03:05,540 --> 01:03:06,450 Гэта 1? 1231 01:03:06,450 --> 01:03:07,320 Надрукаваць 1. 1232 01:03:07,320 --> 01:03:08,120 Хіба 0? 1233 01:03:08,120 --> 01:03:09,100 Надрукаваць 0. 1234 01:03:09,100 --> 01:03:10,530 Тады мы ідзем да наступнага няшмат. 1235 01:03:10,530 --> 01:03:11,210 Гэта 1? 1236 01:03:11,210 --> 01:03:11,610 Надрукаваць 1. 1237 01:03:11,610 --> 01:03:11,830 З'яўляецца 0? 1238 01:03:11,830 --> 01:03:13,080 Надрукаваць 0. 1239 01:03:14,880 --> 01:03:16,710 ALI: Cool, добра. 1240 01:03:16,710 --> 01:03:22,880 Цяпер мы знаходзімся на правільным індэкс, дзе гэта біт. 1241 01:03:25,380 --> 01:03:28,080 Як мы можам пераканацца, што канкрэтны адзін? 1242 01:03:28,080 --> 01:03:33,130 Скажам, мы знаходзімся ў = 0, таму мы хочам, каб праверыць індэксам 0 у біт. 1243 01:03:33,130 --> 01:03:37,980 Такім чынам, у дадзеным выпадку, гэта адно. 1244 01:03:37,980 --> 01:03:41,930 >> Так што цяпер як жа нам ісці аб праверцы, - о, гэта было б гэтага. 1245 01:03:41,930 --> 01:03:42,810 ROB: Так. 1246 01:03:42,810 --> 01:03:44,310 ALI: Выбачайце. 1247 01:03:44,310 --> 01:03:47,930 Як бы мы ісці аб праверцы, што адна, у сэнсе? 1248 01:03:47,930 --> 01:03:52,030 Як бы мы правяраем, калі гэта 0 або 1? 1249 01:03:52,030 --> 01:03:52,730 Ну let's - 1250 01:03:52,730 --> 01:03:53,940 Клас: А 1? 1251 01:03:53,940 --> 01:03:54,390 ALI: І? 1252 01:03:54,390 --> 01:03:55,010 Так. 1253 01:03:55,010 --> 01:03:57,810 ROB: Так скажам, у нас ужо ёсць 1. 1254 01:03:57,810 --> 01:04:02,470 Тады гэта і гэта верне ці гэта 1 або 0. 1255 01:04:05,580 --> 01:04:08,200 ALI: Такім чынам, мы можам пайсці ўніз. 1256 01:04:08,200 --> 01:04:10,695 І мы можам зрабіць, як вы, хлопцы сказалі, вядзення і функцыі. 1257 01:04:13,810 --> 01:04:15,560 ROB: INT - 1258 01:04:15,560 --> 01:04:18,290 Як жа я хачу сказаць, што гэта - 1259 01:04:18,290 --> 01:04:24,250 Isone = я. 1260 01:04:24,250 --> 01:04:29,770 І ў першы трохі, мы, здараецца, гляджу, мы робім я і 1. 1261 01:04:29,770 --> 01:04:33,302 Цяпер тое, што мы збіраемся хочуць і на другі біт? 1262 01:04:33,302 --> 01:04:34,294 SPEAKER 47: 2. 1263 01:04:34,294 --> 01:04:36,110 ROB: Так, другое, што мы знаходзімся на 2. 1264 01:04:36,110 --> 01:04:39,100 ALI: Вы заўважыце, што 1 пераехала да левай. 1265 01:04:39,100 --> 01:04:44,320 Так мы даведаліся любыя бітаў аператары, каб зрабіць гэтую функцыю? 1266 01:04:44,320 --> 01:04:45,160 ROB: наступны - 1267 01:04:45,160 --> 01:04:46,280 ALI: Так, дакладна, менавіта так. 1268 01:04:46,280 --> 01:04:48,670 Так што гэта зрух налева. 1269 01:04:48,670 --> 01:04:51,120 Замест таго, каб заўсёды правяраць з 1, мы збіраемся перавесці яго. 1270 01:04:51,120 --> 01:04:53,470 І колькі разоў мы збіраемся перавесці яго? 1271 01:04:53,470 --> 01:04:59,340 Калі мы правяраем аднаго нулявога затым мы збіраемся, каб перамясціць яго на нулі. 1272 01:04:59,340 --> 01:04:59,975 Так, менавіта так. 1273 01:04:59,975 --> 01:05:02,090 Такім чынам, вы пакінулі перакласці яе на J. 1274 01:05:02,090 --> 01:05:02,550 Perfect. 1275 01:05:02,550 --> 01:05:03,550 Такім чынам, цяпер мы ведаем - 1276 01:05:03,550 --> 01:05:06,450 у нас ёсць гэтая Int ад таго, калі гэта 1, а затым - 1277 01:05:10,690 --> 01:05:14,670 так Адзежа выгляд падману тут - 1278 01:05:14,670 --> 01:05:18,090 І вось цяпер ён ішоў наперадзе і ён проста сказаў, што калі гэта на самай справе 1, 1279 01:05:18,090 --> 01:05:23,540 таму што 1 праўдзівы, так што мы не павінны гаварыць ISF Isone роўны 1 - 1280 01:05:23,540 --> 01:05:29,210 так што калі Isone, то мы друкуем 1, у адваротным выпадку мы друкуем 0. 1281 01:05:29,210 --> 01:05:33,350 >> ROB: Такім чынам, наша праграма мае агульную памылку. 1282 01:05:33,350 --> 01:05:35,845 Ну, пытанняў па гэтай першым. 1283 01:05:35,845 --> 01:05:41,692 SPEAKER 48: Ці можаце Вы калі-небудзь Isone ў чатыры аперацыі часткі і 1284 01:05:41,692 --> 01:05:47,804 часу гэта перакласці сябе як апошняя частка? 1285 01:05:47,804 --> 01:05:50,050 Так Isone роўная 1, а затым - 1286 01:05:50,050 --> 01:05:53,140 ROB: Так, можна. 1287 01:05:53,140 --> 01:05:57,200 Мы можам паказаць, што на самой справе, як толькі мы выправіць памылку, што я збіраюся 1288 01:05:57,200 --> 01:06:00,050 абмеркаваць з Вамі ўсё. 1289 01:06:00,050 --> 01:06:03,470 Звярніце ўвагу на парадак мы будзем над рэчамі. 1290 01:06:03,470 --> 01:06:10,570 Улічваючы гэта бінарнае ўяўленне, мы, пачынаючы з нулявога біта. 1291 01:06:10,570 --> 01:06:13,010 Калі гэта 0, то мы друкуем - 1292 01:06:13,010 --> 01:06:15,620 Ну, гэта 0, таму мы друкуем 0. 1293 01:06:15,620 --> 01:06:16,860 Тады мы ідзем да другой біт. 1294 01:06:16,860 --> 01:06:19,100 Гэта 0, таму мы друкуем 0. 1295 01:06:19,100 --> 01:06:20,290 Тады мы ідзем да трэцяга няшмат. 1296 01:06:20,290 --> 01:06:22,950 Гэта 1, таму мы друкуем 1. 1297 01:06:22,950 --> 01:06:24,580 ALI: Так гэта адбываецца ў зваротным кірунку. 1298 01:06:24,580 --> 01:06:27,906 Так як жа вы, хлопцы, прапаную выправіць гэта і пайсці іншым шляхам? 1299 01:06:27,906 --> 01:06:28,900 SPEAKER 49: [неразборліва] 1300 01:06:28,900 --> 01:06:29,490 ROB: Так. 1301 01:06:29,490 --> 01:06:34,500 Такім чынам, замест таго, каб ісці ад 0 да numBits, мы пойдзем ад numBits біт у 0. 1302 01:06:34,500 --> 01:06:35,600 ALI: Такім чынам, [неразборліва] 1303 01:06:35,600 --> 01:06:36,940 заўсёды можна пайсці іншым шляхам. 1304 01:06:36,940 --> 01:06:38,970 ROB: NumBits мінус 1, таму што гэта апошні nubmer - 1305 01:06:38,970 --> 01:06:41,160 ALI: Таму што гэта ідзе ад 0 да 31. 1306 01:06:41,160 --> 01:06:44,420 І тады мы заўсёды пераканайцеся, што яно больш 0, таму вы не ідзяце 1307 01:06:44,420 --> 01:06:46,100 занадта далёка направа. 1308 01:06:46,100 --> 01:06:48,800 І тады вы заўсёды будзеце адымаць ад 1 да ідзем направа. 1309 01:06:48,800 --> 01:06:52,240 >> ROB: Такім чынам, зараз у нас ёсць зваротная пятля, і гэта лік назад у друку 1310 01:06:52,240 --> 01:06:53,586 У правільным шляху. 1311 01:06:53,586 --> 01:06:57,560 SPEAKER 50: Вам не давядзецца мяняць зрух рэчы таксама? 1312 01:06:57,560 --> 01:06:58,810 ALI: Такім чынам, няма. 1313 01:07:03,810 --> 01:07:06,470 ROB: Мы робім дакладна такі ж аперацыі, толькі цяпер 1314 01:07:06,470 --> 01:07:07,470 ў зваротным парадку. 1315 01:07:07,470 --> 01:07:14,170 Такім чынам, замест таго, каб рабіць зрух на numBits мінус 1, каб атрымаць усё гэта 1316 01:07:14,170 --> 01:07:17,430 біт, а не рабіць, што ў мінулым, мы проста робім гэта ў першую чаргу. 1317 01:07:19,970 --> 01:07:22,970 Па змяненне сюды, мы зваротным парадку ўсе 1318 01:07:22,970 --> 01:07:24,190 што адбываецца ўнутры. 1319 01:07:24,190 --> 01:07:28,610 Але мы не хочам, каб змяніць тое, што адбываецца ўнутры наогул. 1320 01:07:28,610 --> 01:07:29,860 ALI: Ці ёсць у гэтым сэнс? 1321 01:07:32,240 --> 01:07:33,660 Апрацоўка? 1322 01:07:33,660 --> 01:07:41,200 Такім чынам, хто-небудзь яшчэ ёсць нейкія іншыя канцэптуальныя пытанні? 1323 01:07:41,200 --> 01:07:45,030 ALI: Перш чым мы паглыбімся ў яго кропка якой - 1324 01:07:45,030 --> 01:07:46,280 ALI: Добра, добра ісці. 1325 01:07:48,350 --> 01:07:53,160 Роб: Замест J, каб быць нашым - 1326 01:07:55,780 --> 01:08:00,550 замест J, каб заўсёды перамяшчацца па, як адзін левы J змену, я думаю, што 1327 01:08:00,550 --> 01:08:04,120 Вы кажаце, як, да J выкарыстоўваць сябе. 1328 01:08:04,120 --> 01:08:09,560 Такім чынам, для J - 1329 01:08:09,560 --> 01:08:14,656 Я думаю, гэта цяжка - = 1 << 31. 1330 01:08:14,656 --> 01:08:16,200 Гэта тое, што я хачу? 1331 01:08:16,200 --> 01:08:18,470 Я думаю, што гэта << 31. 1332 01:08:18,470 --> 01:08:22,840 J> = 1. 1333 01:08:22,840 --> 01:08:32,319 J >>, >> Isone, я і J - 1334 01:08:32,319 --> 01:08:35,620 так што цяпер замест выкарыстання - 1335 01:08:35,620 --> 01:08:38,370 ALI: Вы пастаянна рухаецца J замест таго, 1336 01:08:38,370 --> 01:08:40,520 індэкс, каб праверыць яго. 1337 01:08:40,520 --> 01:08:42,130 Гэта не так ужо дрэнна. 1338 01:08:42,130 --> 01:08:43,960 Мы выкарыстоўваем падобнага роду логіка. 1339 01:08:43,960 --> 01:08:46,202 Так што калі вы вернецеся - 1340 01:08:46,202 --> 01:08:50,020 Так, але гэта будзе яго страціць. 1341 01:08:50,020 --> 01:08:51,380 Добра, вы толькі збіраецеся набраць яго зноў. 1342 01:08:51,380 --> 01:08:56,880 Калі вы заўважылі, што ў нас ёсць 1 << J колькасць разоў, і мы былі 1343 01:08:56,880 --> 01:09:02,279 павялічваючы J кожны раз на адзін крок, але на гэты раз замест 1344 01:09:02,279 --> 01:09:06,010 яны робяць прырашчэнне J ў верхнім ўнутры цыклу. 1345 01:09:06,010 --> 01:09:10,890 Таму замест таго, заўсёды ў руху яго ўніз - 1346 01:09:10,890 --> 01:09:15,220 ROB: Самая першая ітэрацыя цыклу, у нас ёсць J 10000. 1347 01:09:15,220 --> 01:09:20,000 Наступнай ітэрацыі цыклу складае 01000. 1348 01:09:20,000 --> 01:09:22,380 Наступная ітэрацыя ў тым, што. 1349 01:09:22,380 --> 01:09:26,800 І 1 проста будзе трымаць распаўсюджваюцца ўніз, пакуль мы патрапілі ў вельмі 1350 01:09:26,800 --> 01:09:29,729 канца, дзе цяпер менавіта гэта. 1351 01:09:29,729 --> 01:09:33,990 Наступны, 1, будзе адштурхнуўся, і J больш не з'яўляецца больш 1352 01:09:33,990 --> 01:09:35,090 менш або роўная 1. 1353 01:09:35,090 --> 01:09:38,380 Я мог бы таксама пакласці больш 0, тое ж самае значэнне. 1354 01:09:38,380 --> 01:09:41,580 А потым гэта ўсё. 1355 01:09:41,580 --> 01:09:43,720 Пытанні? 1356 01:09:43,720 --> 01:09:44,760 Так. 1357 01:09:44,760 --> 01:09:49,740 >> SPEAKER 51: [неразборліва] 1358 01:09:49,740 --> 01:09:51,729 ROB: Дык вось жа, як - 1359 01:09:51,729 --> 01:09:57,270 Вы бачылі J + = 3? 1360 01:09:57,270 --> 01:10:00,960 Дык гэта ж, як і J = J + 3? 1361 01:10:00,960 --> 01:10:05,560 Вы можаце зрабіць гэта практычна для любога аператара ў C. Так J >> = 3 1362 01:10:05,560 --> 01:10:10,490 роўна J = J >> 3. 1363 01:10:13,980 --> 01:10:16,760 Так што працуе таксама з аператарамі пабітава. 1364 01:10:16,760 --> 01:10:19,630 І я не павінна была паставіць 31 тут. 1365 01:10:19,630 --> 01:10:23,790 Я павінен быў пакласці numBits - 1. 1366 01:10:23,790 --> 01:10:25,380 ALI: Yay, ніякай магіі лікаў. 1367 01:10:25,380 --> 01:10:29,070 Добра, гэта 4:00, так што калі вы, хлопцы, павінны пайсці - але ці ёсць у гэтым сэнс? 1368 01:10:29,070 --> 01:10:30,320 Як вы, хлопцы, ёсць іншыя пытанні? 1369 01:10:33,920 --> 01:10:38,470 ROB: Я таксама збіраюся кінуць у тым, што калі б мы хацелі - 1370 01:10:38,470 --> 01:10:41,326 быў ён абмяркоўваў патройны аператар на ўсіх? 1371 01:10:41,326 --> 01:10:42,730 ALI: Няма 1372 01:10:42,730 --> 01:10:45,090 Гэта нармальна. 1373 01:10:45,090 --> 01:10:46,970 ROB: Так што вы можаце глядзець на гэта ў наступны раз. 1374 01:10:51,030 --> 01:10:52,080 ALI: Добра, на самай справе? 1375 01:10:52,080 --> 01:10:53,150 Цяпер вы проста паказухі. 1376 01:10:53,150 --> 01:10:54,210 ROB: Не, зараз it's - 1377 01:10:54,210 --> 01:11:00,490 гэта тое, што прымушае людзей зацікаўленых, і цяпер яны пойдуць глядзець у яго. 1378 01:11:00,490 --> 01:11:02,640 Дык вось, што робіць тое ж самае, за адзін крок. 1379 01:11:05,150 --> 01:11:10,950 Такім чынам, спачатку праверце, значыць, я і J 1? 1380 01:11:10,950 --> 01:11:12,530 Гэта праўда? 1381 01:11:12,530 --> 01:11:17,000 Калі гэта так, друк 1, іншы, раздрукаваць 0. 1382 01:11:17,000 --> 01:11:19,190 Алі: Але рабіць гэта па-іншаму гэта выдатна, як добра. 1383 01:11:19,190 --> 01:11:20,920 Ён мае такую ​​ж логіку. 1384 01:11:20,920 --> 01:11:22,730 Так што гэта не як адна - 1385 01:11:22,730 --> 01:11:24,620 ROB: На дадзены момант, мы можам пазбавіцца ад гэтых фігурныя дужкі, таму што гэта толькі 1386 01:11:24,620 --> 01:11:27,190 адзін радок цыклу. 1387 01:11:27,190 --> 01:11:29,370 ALI: Добра, ці так гэта сэнс? 1388 01:11:29,370 --> 01:11:30,370 Гэта быў выгляд скачка. 1389 01:11:30,370 --> 01:11:34,870 Але гэта было толькі часткова сінтаксіс, тым больш. 1390 01:11:34,870 --> 01:11:36,250 >> Крута? 1391 01:11:36,250 --> 01:11:37,500 Любыя іншыя пытанні? 1392 01:11:40,880 --> 01:11:41,570 ROB: Усё ў парадку. 1393 01:11:41,570 --> 01:11:42,310 ALI: Добра, халаднавата. 1394 01:11:42,310 --> 01:11:43,560 Дзякуй, што прыйшлі да секцыі.