1 00:00:01,984 --> 00:00:07,450 [Powered by Google Translate] [ELECTRONIC Static ხმები] 2 00:00:07,450 --> 00:00:11,320 ROB: Okay, ასე რომ ჩვენ უბრალოდ მაგრამ თქვენ არ გაქვთ არის 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: YAY! 7 00:00:14,742 --> 00:00:16,840 ROB: Supersection! 8 00:00:16,840 --> 00:00:18,610 ALI: მე ალი და ეს რობ. 9 00:00:18,610 --> 00:00:20,680 Okay, ახლა ჩვენ ავუხსნათ სივრცეებს. 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 სივრცეები როგორც web interface საუბარი ელექტრო მოწყობილობების 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 Come on in, მოვა და დაჯდება. 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: Oh, ის მოსწონს - 26 00:01:04,180 --> 00:01:05,840 Oh. 27 00:01:05,840 --> 00:01:07,530 Okay, ზემოთ. 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 Okay. 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 >> ALI: ასე ძირითადად, ხოლო Rob-ს ეძებს, რასაც ჩვენ ვაპირებთ გავაკეთოთ 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 to განყოფილება აქვს იმ კითხვებს უპასუხეს. 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: Yep, საკმაოდ ბევრი. 61 00:02:55,370 --> 00:02:57,950 >> Okay, ასე, არის ყველას CS50 სივრცეები? 62 00:02:57,950 --> 00:02:59,457 Hi, მოდის შემოსული 63 00:02:59,457 --> 00:03:00,828 დინამიკები 1: ჩვენ ვხედავთ URL კიდევ ერთხელ? 64 00:03:04,030 --> 00:03:07,000 ROB: Yeah, ეს იქნება უფრო ადვილი ერთხელ თქვენ რეალურად თქვენს სექციები და 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 [INAUDIBLE] 74 00:03:29,270 --> 00:03:31,540 ALI: უკაცრავად. 75 00:03:31,540 --> 00:03:32,950 თქვენ შეიძლება გამოიყენოთ თქვენი fingernails? 76 00:03:32,950 --> 00:03:38,210 ჩვენ ძალიან დაბალი ტექნიკური დარბაზი ძალიან მაღალტექნოლოგიური კლასი. 77 00:03:38,210 --> 00:03:40,795 Okay, არის ყველას სახის კარგი? 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 კოდი up in CS50 სივრცეებს. 83 00:03:57,490 --> 00:03:58,740 არის ყველასთვის კარგი? 84 00:04:01,010 --> 00:04:01,360 Okay. 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: შეგიძლიათ გათიშეთ out ერთად Lucas. 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 გნებავთ me - 94 00:04:12,390 --> 00:04:13,700 შემიძლია წასვლა. 95 00:04:13,700 --> 00:04:16,666 ასე რომ, ჩვენ წასვლა pset specs. 96 00:04:16,666 --> 00:04:17,640 ოჰ, რატომ არის ის - 97 00:04:17,640 --> 00:04:18,890 ROB: კონტროლის. 98 00:04:21,769 --> 00:04:25,770 ALI: Okay, ასე მივდივართ შევიდა პასუხი ეს ყველაფერი ისევე? 99 00:04:25,770 --> 00:04:26,190 ROB: Oh, yeah. 100 00:04:26,190 --> 00:04:27,280 ასე - 101 00:04:27,280 --> 00:04:29,675 ALI: Oh, გააკეთეს ყველას Watch რობ ს როლებში შორტები? 102 00:04:32,430 --> 00:04:33,360 Okay, ზემოთ. 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 >> ასე რომ, პირველი კითხვა, რა არის წინასწარ პროცესორი, როგორ ამჯამად # include 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 ALI: შენ შეიძლება გაიგო ის. 112 00:04:59,320 --> 00:05:00,308 რა თქმა უნდა, წავიდეთ წინ. 113 00:05:00,308 --> 00:05:03,766 დინამიკები 2: # include არის რაღაც წინასწარ წერილობით კოდი და ნაცვლად 114 00:05:03,766 --> 00:05:08,706 გადაწერა და pasting იგი თქვენს პროგრამაში, მხოლოდ ამბობდა, რომელშიც შედიოდა, 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: Yeah, გასაოცარია. 118 00:05:18,466 --> 00:05:19,440 ზემოთ. 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 Compilation ხდება ოთხი დიდი ნაბიჯები. 122 00:05:27,620 --> 00:05:31,120 ასე რომ წინასწარ პროცესორი არის პირველი დიდი ერთი და ეს ამ ბიჭს რომ მიდის 123 00:05:31,120 --> 00:05:33,510 მეშვეობით და ეძებს ყველა ამ hash სიმბოლოს. 124 00:05:33,510 --> 00:05:36,610 და ნებისმიერი ხაზი, რომელიც იწყება hash, წინასწარ პროცესორი უყურებს და ხედავს 125 00:05:36,610 --> 00:05:37,880 თუ იგი შეიძლება პროცესის. 126 00:05:37,880 --> 00:05:43,800 ასე # include ეუბნება წინასწარ პროცესორი to გადახედეთ 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 . თ files. 130 00:05:53,700 --> 00:05:55,820 ჩვენ არ შემოსული # განსაზღვრავს მაინც, ისე, რომ მნიშვნელობა არ აქვს. 131 00:05:55,820 --> 00:05:57,620 ALI: Yeah, ჩვენ კარგი რომ ერთი. 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: Yeah, ან საერთოდ მე რაღაც up? 139 00:06:13,990 --> 00:06:18,290 ROB: ასე მოკლე შესაძლოა გვიჩვენებს წინასწარი დამუშავების ამ ფაილის და 140 00:06:18,290 --> 00:06:24,240 outputting იგი სხვა. გ ფაილი, ასე რომ თქვენ შეგიძლიათ წინასწარ დამუშავებას ამ ფაილის - 141 00:06:24,240 --> 00:06:30,000 როდესაც თქვენ მხოლოდ აწარმოებს მოსწონს, მიიღოს მიესალმები ან clang 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 უბრალოდ bunch of ასლი და pasting. 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: Okay. 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 Okay, შემდეგი კითხვა. 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 დგამს კოდი რომ დო და ტრანსფორმირებას იგი ასამბლეის. 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: Okay. 177 00:07:50,230 --> 00:07:52,920 და მაშინ, რა assembler? 178 00:07:52,920 --> 00:07:54,270 ვინმე? 179 00:07:54,270 --> 00:07:56,810 დინამიკები 5: [INAUDIBLE] რომ ორობითი? 180 00:07:56,810 --> 00:07:57,260 ALI: უკაცრავად, რა? 181 00:07:57,260 --> 00:07:58,760 დინამიკები 5: [INAUDIBLE] რომ ორობითი? 182 00:07:58,760 --> 00:07:59,260 ROB: Yep. 183 00:07:59,260 --> 00:07:59,880 ALI: დიახ. 184 00:07:59,880 --> 00:08:01,960 ROB: So assembler - 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 თქვენ უნდა დააკონვერტიროთ ის სწორი 1s და 0S. 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 მაგრამ assembler მხოლოდ ამით თარგმანი თქვენთვის. 193 00:08:24,340 --> 00:08:28,790 ეს გარდაქმნა ასამბლეის კოდი შევიდა 1s და 0S. 194 00:08:28,790 --> 00:08:30,870 >> ALI: შემდეგ, ბოლო ერთი, რა linker? 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 დინამიკები 6: როდესაც მივიდა მიიღოს. 200 00:08:50,690 --> 00:08:51,980 ALI: ეს წელს მიიღოს. 201 00:08:51,980 --> 00:08:55,780 ჰო, ზემოთ, okay. 202 00:08:55,780 --> 00:09:02,024 არსებობს თუ მიხვდება ან ბუნდოვანი - კი, წავიდეთ. 203 00:09:02,024 --> 00:09:06,370 დინამიკები 7: მე არ ვარ დარწმუნებული, რადგან თქვენს მოკლე მართლაც [INAUDIBLE], მაგრამ იყო ეს 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 მერე რა linker არ არის მიდის გარშემო გადახედეთ ყველა ამ 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 ამიტომ linker უბრალოდ იღებს ყველა ამ ფაილებს, smashes მათი ერთად, და ახლა 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 >> დინამიკები 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 იყოს specifiable მხოლოდ ამბობდა-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 >> დინამიკები 7: რატომ უნდა დაუკავშირონ CS50 240 00:11:13,975 --> 00:11:18,940 თუ - wasn't ეს copy / pasted პირველ ნაბიჯს, როცა წინასწარ დამუშავებული ეს? 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 Okay. 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 Okay, ასე საკმაოდ ბევრი, თუ გადავხედავთ - 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 თქვენ აკეთებთ string s = 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 ასე რომ მე განაცხადა, string 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 დააბრუნებს string. 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 არის კოპირება და pasting აქ, ისევე 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 იგი დარწმუნებულია, რომ სწორად დააბრუნებს string. 268 00:12:57,760 --> 00:13:03,022 >> დინამიკები 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 დინამიკები 9: არის ეს? 273 00:13:09,110 --> 00:13:13,670 ასე რომ, ჩვეულებრივ, იგი ყველაფერს გააკეთებს-L to CS50 მხოლოდ იმიტომ, რომ -. 274 00:13:13,670 --> 00:13:14,740 ROB: - გამოხატვის. 275 00:13:14,740 --> 00:13:19,370 ALI: დიახ, რადგან, როგორც თქვენ განაცხადა, რომ ის წელს მარკა ფაილი. 276 00:13:19,370 --> 00:13:24,040 ROB: cs50.h ასევე მოხდება უნდა იყოს typedef char * to string. 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 on არის, რომ ის მქონე ფაქტობრივი განხოციელებადი კოდი. 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 ზემოთ ლობიო. 294 00:14:24,466 --> 00:14:27,630 >> ROB: ახლა ჩვენ შეგვიძლია გადაადგილება, რათა ფაქტობრივი კოდი. 295 00:14:27,630 --> 00:14:28,780 ALI: Okay. 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 წერილში და შემდეგ გარდაქმნის მას ზედა გამოყენების გარეშე bitwise 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 ა ასე რომ რატომ არ ბიჭებს ყველა მისთვის გადაღებული 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 ROB: და შეგიძლიათ შეკითხვები თუ გაქვთ - 313 00:15:32,360 --> 00:15:33,450 >> დინამიკები 10: რა არის bitwise ოპერაციას? 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 მაგრამ თუ თქვენ არ იცით, რა bitwise ოპერატორი, რომ ჯარიმა. 318 00:15:40,750 --> 00:15:43,575 დინამიკები 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 დინამიკები 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: Oh, მე იჯდა mic. 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 ასე რომ თქვენ შეგიძლიათ სიტყვასიტყვით გამოიყენოთ '' ნიშნავს ნომერი 65. 331 00:16:20,860 --> 00:16:24,600 ისევე, ეს ღირებულება 65. 332 00:16:24,600 --> 00:16:30,950 შემიძლია რაღაც int x = 100 - '". და ახლა x ექნება ღირებულება 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 დინამიკები 10: როგორ ჩართოთ უკან ხასიათი? 339 00:16:43,730 --> 00:16:46,800 ALI: ასე რომ, თუ თქვენ don't - 340 00:16:46,800 --> 00:16:51,450 უბრალოდ აიძულებს, რომ იყოს char, შეადგენს. 341 00:16:51,450 --> 00:16:53,630 ROB: ამიტომ - 342 00:16:53,630 --> 00:16:58,440 განსხვავება შორის char და მთელი მხოლოდ თვალსაზრისით ზომა. 343 00:16:58,440 --> 00:17:01,230 ასე რომ მთელი ხდება შეძლებს წარმოადგინოს რამ up 344 00:17:01,230 --> 00:17:02,600 უნდა, ისევე როგორც, ოთხი მილიარდი. 345 00:17:02,600 --> 00:17:05,839 Char არის მხოლოდ შეუძლია წარმოადგინოს რამ მდე 255. 346 00:17:05,839 --> 00:17:08,390 მაგრამ არ არსებობს განსხვავება, გარდა ამ. 347 00:17:08,390 --> 00:17:12,339 ასე, რომ თქვენ შეიძლება ითქვას, char c = 65. 348 00:17:12,339 --> 00:17:24,204 სწორედ ექვივალენტი ამბობდა char c შეადგენს ". 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 [GROANS] 354 00:17:34,920 --> 00:17:40,700 >> ROB: Okay, ასე რომ ალი უბრალოდ დაწერა იყო პროგრამა, რომელიც პირველი ბეჭდავს 100 - 355 00:17:40,700 --> 00:17:46,290 '', როგორც მთელი რიცხვი, რომელიც 35, როგორც ჩვენ ვიმედოვნებთ, რადგან 100 მინუს ASCII 356 00:17:46,290 --> 00:17:48,580 ღირებულება არის 65. 357 00:17:48,580 --> 00:17:54,100 მაშინ მან დაბეჭდილი გამოყენებით% C, რაც იმას ნიშნავს, ინტერპრეტაცია, როგორც char. 358 00:17:54,100 --> 00:17:57,050 ასე რომ 100 - არის 35. 359 00:17:57,050 --> 00:18:00,990 Interpreting, რომ როგორც პერსონაჟი ხდება იყოს hash სიმბოლო. 360 00:18:00,990 --> 00:18:06,160 თუ გადავხედავთ asciitable.com ან რასაც თქვენ ხედავთ, რომ 35 არის 361 00:18:06,160 --> 00:18:07,410 hash სიმბოლო. 362 00:18:09,940 --> 00:18:12,700 ALI: Okay, ნებისმიერი სხვა განმარტებების შესახებ პრობლემა? 363 00:18:16,000 --> 00:18:18,180 Okay, თქვენ ბიჭები შეიძლება წავიდეთ წინ და ამის გაკეთება მაშინ. 364 00:18:18,180 --> 00:18:20,330 Feel free კითხვის დასმის ან ესაუბრონ ერთმანეთს. 365 00:18:20,330 --> 00:18:24,390 ან თუ თქვენ უკვე გაკეთდა, შეგიძლიათ დაისვენოთ. 366 00:18:24,390 --> 00:18:29,640 >> LUCAS: არიან ისინი იგივე კლასის, ყველა ამას წერილებს მიზნით და 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: კარგი წერტილი, Lucas. 370 00:18:35,620 --> 00:18:37,430 ასე რომ, თუ ბიჭები ყველა მიიღოთ, რომ? 371 00:18:37,430 --> 00:18:37,640 დინამიკები 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 დინამიკები 11: [INAUDIBLE] 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 Just გადაიყვანოთ - 379 00:18:50,590 --> 00:18:52,560 ALI: Convert to ამას ზედა. 380 00:18:52,560 --> 00:18:53,100 ეს არის ის. 381 00:18:53,100 --> 00:18:54,700 ROB: Okay. 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: So მათთვის, ვინც შეიძლება დავრჩებოდით, გზა - 385 00:19:07,140 --> 00:19:15,160 თუ გარკვეული char c, და ასე ვთქვათ ეს ხდება იყოს წერილში დ 386 00:19:15,160 --> 00:19:20,760 ახლა როგორ ხდება გაერკვნენ, რა წერილი ანბანი C არის? 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, როგორ ხდება გაერკვნენ int პოზიცია - 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 ALI: ვფიქრობ ისინი ყველა კოდირება. 393 00:19:45,440 --> 00:19:46,440 ROB: რა პირველი? 394 00:19:46,440 --> 00:19:48,608 დინამიკები 12: So რასაც არის, სხვაობა პირველი? 395 00:19:48,608 --> 00:19:49,030 ROB: ჰო. 396 00:19:49,030 --> 00:19:49,950 ALI: Yeah, გასაოცარია. 397 00:19:49,950 --> 00:19:51,765 ასე, რომ თქვენ შეიძლება არ Capital D - 398 00:19:51,765 --> 00:19:52,840 OH, უკაცრავად. 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 თქვენ ბიჭები შეიძლება shout out - 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 ზემოთ. 417 00:20:43,560 --> 00:20:44,700 მე ტენდენცია დავრჩებოდით, ძალიან. 418 00:20:44,700 --> 00:20:45,415 დინამიკები 13: მე გაკეთდეს. 419 00:20:45,415 --> 00:20:46,410 ALI: თქვენ გაკეთდეს? 420 00:20:46,410 --> 00:20:47,480 Okay. 421 00:20:47,480 --> 00:20:47,935 შესრულებულია. 422 00:20:47,935 --> 00:20:49,300 დინამიკები 13: [INAUDIBLE] 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 Okay, ზემოთ. 426 00:20:56,730 --> 00:20:59,882 სად არიან სხვა ადამიანებს? 427 00:20:59,882 --> 00:21:06,140 იყო თუ არა ასეთი მინიშნება დაგეხმაროთ, როგორც გაეროს sticking თავის? 428 00:21:06,140 --> 00:21:09,778 დინამიკები 14: ნამდვილად არ, მაგრამ მხოლოდ იმიტომ, რომ, არ ვიცი, მე არ ვარ 429 00:21:09,778 --> 00:21:11,590 digesting იგი ამჟამად. 430 00:21:11,590 --> 00:21:12,640 ALI: Okay, ზემოთ. 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 დინამიკები 14: Okay, ასე რომ, როდესაც თქვენ დააყენა რამ ერთჯერადი ბრჭყალი, 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: Yep. 444 00:21:49,970 --> 00:21:55,270 ასე რომ, როდესაც თქვენ დააყენა რომელიმე ამ სიმბოლოების, იგნორირება ბევრი - 445 00:21:55,270 --> 00:21:56,450 ALI: [INAUDIBLE] 446 00:21:56,450 --> 00:21:57,620 ROB: Oh, გამოყენებით კურსორი. 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, ბ 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: ასეა, მაშინ როგორ თარგმნოს, რომ იპოვონ პატარა დ? 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 ჩვენ მოხდეს უნდა ვაპირებთ ამას, მაგრამ ვთქვათ მე მინდა სამი 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 >> დინამიკები 15: მე მაქვს ერთი კითხვა რეალურად. 469 00:23:11,934 --> 00:23:12,425 ALI: Yeah, წავიდეთ წინ. 470 00:23:12,425 --> 00:23:14,880 დინამიკები 15: ასე რომ, ეს ნამდვილად არ აქვს მნიშვნელობა, თუ ვიცი, ამ თანამდებობაზე, 471 00:23:14,880 --> 00:23:16,360 მინდა, მე არ გვჭირდება ამ მაგიდასთან. 472 00:23:16,360 --> 00:23:16,840 ROB: Nope. 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 გამოიყენეთ ''. არასდროს არ გამოიყენოთ 65 ან 97. 477 00:23:31,190 --> 00:23:34,370 ALI: ეს არის მოუწოდა Magic ნომრები, და ისინი მართლაც დამაბნეველი. 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 Okay, ნებისმიერი სხვა კითხვები? 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 მართლაც creepy რომ ხედავთ ხალხის კოდი. 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: Oh yeah, კარგად რომ ხდის უკეთესი, ამიტომ ჩვენ კიდევ უფრო ობიექტური 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 Okay. 497 00:24:20,870 --> 00:24:22,556 როგორ ხდება ადამიანი აკეთებს? 498 00:24:22,556 --> 00:24:26,950 >> დინამიკები 17: So მეცხრე ხაზი უნდა ამობეჭდოთ ხასიათი? 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: Oh, ვერ მოხვდება. 503 00:24:32,200 --> 00:24:35,400 ALI: თქვენ ნახავთ, რომ იგი ნაბეჭდი hash სიმბოლო. 504 00:24:35,400 --> 00:24:37,180 დინამიკები 17: Oh, okay. 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 ეს ალბათ დაწეროთ at me ამ. 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 ოჰ, მხოლოდ kidding, უკაცრავად. 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: Okay, ასე როგორ დავიწყოთ? 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 დინამიკები 18: [INAUDIBLE] 522 00:25:36,850 --> 00:25:38,290 ALI: Oh yeah, prompt, სრულყოფილი. 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 Okay, და მერე რა? 532 00:25:55,710 --> 00:25:56,664 რატომ აკეთებს ამას? 533 00:25:56,664 --> 00:25:57,620 ROB: არ ვიცი. 534 00:25:57,620 --> 00:26:00,070 ALI: Okay. 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 დინამიკები 19: Use GetString. 538 00:26:10,060 --> 00:26:12,040 ALI: GetString? 539 00:26:12,040 --> 00:26:12,850 GetChar? 540 00:26:12,850 --> 00:26:17,038 Okay, ასე რომ სხვაობაა სიმებიანი და char? 541 00:26:17,038 --> 00:26:20,020 დინამიკები 19: Strings არიან სერია, როგორიცაა მასივი სიმბოლო. 542 00:26:20,020 --> 00:26:21,910 >> ALI: Cool, yeah. 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 ALI: ახლა ჩვენ გვაქვს ხასიათი აქ, მაგრამ მაშინ ჩვენ უნდა შეინახოთ. 550 00:26:42,800 --> 00:26:45,070 ასე რომ მაშინ ჩვენ დაამატოთ char გ - რა? 551 00:26:45,070 --> 00:26:46,070 დინამიკები 20: define ცვლადი. 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 ROB: მე ვფიქრობ, თქვენ შეიძლება იყოს - 555 00:26:51,766 --> 00:26:55,630 თქვენ მხოლოდ სამი ფართები, რის გამოც ის yelling at თქვენ. 556 00:26:55,630 --> 00:27:01,300 >> ALI: Okay, cool, ახლა რომ ჩვენ tabbing კომპლექტი, რა მოხდება შემდეგ? 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 რა მოხდება, თუ მოხდება შესვლის hash სიმბოლო? 561 00:27:15,478 --> 00:27:16,314 არის, რომ - 562 00:27:16,314 --> 00:27:16,732 ALI: ეს კარგი სიმბოლო. 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 დინამიკები 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 და ეს შეიძლება იყოს ნებისმიერი ამ და increments ყველა გზა down. 573 00:27:52,110 --> 00:27:55,200 და შემდეგ იქ z დროს 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 'Z', მაშინ ეს არ იყო სწორი ხასიათი ჩვენთვის ზედა. 579 00:28:15,110 --> 00:28:18,590 ALI: So კოდის სახით, ჩვენ ვამბობთ, რომ თუ გ მეტია ან ტოლია ერთჯერადი 580 00:28:18,590 --> 00:28:19,640 შემთხვევაში ამას - 581 00:28:19,640 --> 00:28:21,270 wow, რა ვთქვა, რომ? 582 00:28:21,270 --> 00:28:26,900 Okay, მეტია ან ტოლია ამას '', და იგი უნდა იყოს ზემოთ 583 00:28:26,900 --> 00:28:32,250 ამას 'z'. ასე რომ, ეს უნდა იყოს ნაკლები ან ტოლია მხედრულ '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: So I figured ჩვენ უბრალოდ შეინახოს ეკითხება, თუ ჩვენ მოხდეს არ აქვს 588 00:28:46,860 --> 00:28:48,250 მხედრულ წერილში. 589 00:28:48,250 --> 00:28:51,130 ALI: Oh, მე არ იცის, რომ. 590 00:28:51,130 --> 00:28:52,820 უკაცრავად. 591 00:28:52,820 --> 00:28:58,100 >> Okay, ასე რომ, თუ ჩვენ ვაპირებთ, როგორც რობ ამბობს, და დარწმუნდით, რომ - 592 00:28:58,100 --> 00:29:02,068 ჩვენ შეგვიძლია შევინარჩუნოთ სთხოვს, მაშინ რა უნდა გავაკეთოთ? 593 00:29:02,068 --> 00:29:02,994 დინამიკები 22: [INAUDIBLE] 594 00:29:02,994 --> 00:29:03,530 ROB: ჰო. 595 00:29:03,530 --> 00:29:05,630 ჩვენ უნდა გამოვიყენოთ გარკვეული loop. 596 00:29:05,630 --> 00:29:12,900 იმის გამო, რომ მომხმარებელს შეუძლია შევიდეს რაღაც არასწორი untold თანხის ჯერ. 597 00:29:12,900 --> 00:29:14,990 ასე, რომ თქვენ შეგიძლიათ გამოიყენოთ ხოლო loop. 598 00:29:14,990 --> 00:29:18,870 მიზნით do-ხოლო loop - 599 00:29:18,870 --> 00:29:21,340 სიტყვასიტყვით, მხოლოდ ახლა თქვენს მთელი ცხოვრება თქვენ ოდესმე გამოიყენოს do- 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-ხოლო loop. 603 00:29:29,660 --> 00:29:30,780 და რატომ არის, რომ? 604 00:29:30,780 --> 00:29:34,270 რადგან do-ხოლო loop ყოველთვის ხდება ერთხელ მაინც. 605 00:29:34,270 --> 00:29:40,260 ასე რომ, როდესაც თქვენ ითხოვს მომხმარებლის input, გსურთ, რომ მოხდეს ერთხელ მაინც. 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: So სხვა სიტყვებით, ჩვენ უნდა გავაკეთოთ სექციაში. 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: Oh, yeah. 621 00:30:25,900 --> 00:30:31,720 ROB: So ხოლო ეს ასე არ არის, ჩვენ გვინდა უკან და 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 Okay. 626 00:30:39,400 --> 00:30:43,480 >> ახლა ჩვენ გვაქვს სწორი ხასიათი, რომ ჩვენ შეგვიძლია ზედა. 627 00:30:43,480 --> 00:30:47,150 ALI: ასეა, მაშინ რა შემდგომი ნაბიჯი uppercasing ეს? 628 00:30:49,994 --> 00:30:51,890 დინამიკები 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 დინამიკები 23: ვერ თქვენ უბრალოდ დაამატოთ 32? 632 00:30:56,580 --> 00:31:02,360 ROB: So დიახ, არ თვალსაზრისით Magic ნომრები. 633 00:31:02,360 --> 00:31:04,610 თქვენ უნდა მხოლოდ გამოყენებით ერთ ციტირებით პერსონალი. 634 00:31:04,610 --> 00:31:06,450 დინამიკები 23: Okay, ასევე - 635 00:31:06,450 --> 00:31:07,250 ROB: მაგრამ შეგიძლიათ მიიღოთ 32 - 636 00:31:07,250 --> 00:31:11,870 ALI: როგორ თქვენ მიიღებთ ნომერი 32, მე ვფიქრობ, არის ის, რაც ჩვენ დაყრდნობით. 637 00:31:11,870 --> 00:31:18,060 დინამიკები 23: [INAUDIBLE] 638 00:31:18,060 --> 00:31:22,158 ROB: ასე რომ, ჩვენ შეიძლება ამუშავება ხმების 32 ერთად - 639 00:31:22,158 --> 00:31:24,468 დინამიკები 23: [INAUDIBLE]? 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 "'. ასე რომ, თუ შევედით ამას 'დ', პოზიცია იქნება 3. 645 00:31:42,360 --> 00:31:46,490 და ახლა ჩვენ გვინდა მიიღოს რამ ზედა სპექტრს რამ. 646 00:31:46,490 --> 00:31:55,376 ახლა ჩვენი ახალი გ იქნება დედაქალაქის 'Plus პოზიცია. 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 სპექტრი, და აპირებს down შევიდა ზედა მწკრივში და ვაპირებთ, რომ შორს 650 00:32:07,650 --> 00:32:10,610 შევიდა ისევ, რომელიც იქნება იგივე ხასიათი, მაგრამ ახლა 651 00:32:10,610 --> 00:32:12,550 uppercased. 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 ასე რომ რაც მან გააკეთა, მე don't - 657 00:32:31,330 --> 00:32:44,510 char newc = ზედა '' Plus C მინუს მხედრულ ''. და ამის გამო ალგებრა, 658 00:32:44,510 --> 00:32:47,090 თქვენ შეგიძლიათ გადაადგილება მათ გარშემო. 659 00:32:47,090 --> 00:32:52,960 შეგიძლიათ ასევე აცხადებენ, რომ შეგიძლიათ გადაადგილება ირგვლივ ასე char newc = ზედა '' 660 00:32:52,960 --> 00:32:55,620 მინუს მხედრულ '' Plus გ. 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 >> Hi. 665 00:33:10,020 --> 00:33:10,930 ჩაჯექით. 666 00:33:10,930 --> 00:33:12,180 Oh. 667 00:33:16,240 --> 00:33:17,980 თქვენ შეგიძლიათ იჯდეს უფლება აქ. 668 00:33:17,980 --> 00:33:20,805 ზემოთ, okay, გასაოცარია. 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 Magic ხმების დაბნეულობა. 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 დინამიკები 24: რატომ არის, რომ, კიდევ ერთხელ? 677 00:33:45,020 --> 00:33:49,860 რატომ უნდა არ გამოიყენოთ 32? 678 00:33:49,860 --> 00:33:55,630 ALI: თუ ჩვენ ეს გავაკეთეთ, ეს იქნება char 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 ალბათ don't - 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 '"და". " მაგრამ იმ ეტაპზე, ამიტომ არა მხოლოდ გამოიყენოს "ა" და "ა", და თქვენ 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 ან მე მგონი, არ, რადგან თქვენ ჰაკერი ედი - არასდროს გონება. 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: Okay. 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 bitwise ოპერატორები. 708 00:35:32,640 --> 00:35:35,170 ROB: და რა თქმა უნდა, ჩვენ არ მინახავს bitwise ოპერატორების ამჟამად. 709 00:35:35,170 --> 00:35:38,874 ამიტომ ჩვენ ახლა განვიხილოთ იმ. 710 00:35:38,874 --> 00:35:39,540 ALI: BE აღელვებს. 711 00:35:39,540 --> 00:35:41,490 ისინი super fun. 712 00:35:41,490 --> 00:35:47,927 >> ROB: So რეგულარული ოპერატორები, როგორიც x Plus Y, მინუს, ჯერ, გათიშე. 713 00:35:47,927 --> 00:35:50,850 ALI: ტიპი იგი ამ ზოლზე. 714 00:35:50,850 --> 00:35:55,420 ROB: არსებობს ასევე%, თუ არ მინახავს ეს, რომელიც შეგიძლიათ გამოიყენოთ მიერ 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 ჩვენ გვინდა გამოვიყენოთ bitwise ოპერატორები. 718 00:36:01,400 --> 00:36:06,250 ახლა გახსოვდეთ, ჩვენ მოუტანა მას up in ლექცია ერთი. 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 წარმოდგენილია 1s და 0S წელს ორობითი. 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 რა bitwise ოპერატორების მოდით გავაკეთოთ არის მოქმედებს ამ ბიტი - 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 ასე ალი არ გაუკეთებია bitwise ოპერატორები აქ, არამედ 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 ALI: არის ყველასთვის კარგია, რომ? 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, ახლა ჩვენ გვაქვს ჩვენი bitwise ოპერატორები. 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 გამოყენებით up სხვა 27 ბიტი მხოლოდ 0S. 751 00:38:05,500 --> 00:38:10,110 ALI: Just გარკვევა, ერთი ამ ნომრებზე რომ 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: bitwise ოპერატორები. 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 ასე რომ თქვენ შეგიძლიათ ვფიქრობ, რომ ეს თქვენი ლოგიკური ANDs. 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 დინამიკები 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 თუ თქვენ გაქვთ ორი ბიტი, X და Y, საჭიროა x და y იყოს 1 რათა ეს 778 00:39:37,550 --> 00:39:40,770 შევაფასოთ ჭეშმარიტი - ან, იმისათვის, რომ ის შეაფასოს, რათა 1. 779 00:39:40,770 --> 00:39:45,650 თუ x ან y are 0, მაშინ იგი აფასებს, რათა ყალბი ან 0. 780 00:39:45,650 --> 00:39:49,165 LUCAS: კარგია უნდა გვახსოვდეს ისიც, რომ 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 დინამიკები 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 დინამიკები 25: [INAUDIBLE] 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 დინამიკები 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: კარგი მუშაობა, wow. 805 00:40:36,210 --> 00:40:37,080 Okay, ზემოთ. 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 და ეს იქნება ძალიან ჰგავს, მაგრამ ახლა ნაცვლად x და y სჭირდება, რათა 809 00:40:51,650 --> 00:40:54,880 იყოს 1 რათა ეს შევაფასოთ ერთ, ახლა უბრალოდ x ან 810 00:40:54,880 --> 00:40:56,360 Y უნდა იყოს 1. 811 00:40:56,360 --> 00:40:59,580 ALI: So 1 | 0 აფასებს to - 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 აფასებს to - 815 00:41:03,710 --> 00:41:04,420 კლასი: 1. 816 00:41:04,420 --> 00:41:06,726 ALI: ზემოთ, შემდეგ კი 0 | 0 - 817 00:41:06,726 --> 00:41:07,600 CLASS: 0. 818 00:41:07,600 --> 00:41:09,320 ALI: ჰო, და შემდეგ 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 ასე რომ ასეთი ორი bitwise ოპერატორები. 822 00:41:14,060 --> 00:41:15,430 გასაოცარია. 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: Yeah, რადგან ვფიქრობ, რომ ჩვენ ვაპირებთ მის გამოყენებას - 826 00:41:20,620 --> 00:41:22,340 გამოყენებით მათ ყველა. 827 00:41:22,340 --> 00:41:23,150 ALI: Okay. 828 00:41:23,150 --> 00:41:23,570 ასე - 829 00:41:23,570 --> 00:41:25,540 ROB: ვფიქრობ, ჩვენ არ გვჭირდება. 830 00:41:25,540 --> 00:41:31,830 ALI: So ^ სამუშაოები, რომ თქვენ უნდა აქვს ზუსტად ერთი ჭეშმარიტი და ერთი ყალბი. 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 სწორედ განსხვავება ^ და |, ის არის, რომ ან, თქვენ შეგიძლიათ, თუ x არის 835 00:41:46,920 --> 00:41:49,440 ჭეშმარიტი ან Y ეს მართალია, მაშინ ჩვენ კარგი. 836 00:41:49,440 --> 00:41:55,176 არა, ^ ამბობს, თუ x არის ჭეშმარიტი, Y უნდა იყოს ყალბი, ანდა ეს მართალი არ არის. 837 00:41:55,176 --> 00:41:56,814 გაქვთ შეკითხვა? 838 00:41:56,814 --> 00:42:00,526 >> დინამიკები 26: [INAUDIBLE] 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: Yeah, ასე რომ, როდესაც თქვენ მიიღებთ რომ დაბალი დონის აპარატურა პერსონალის, ესენი არიან 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: Okay, ამისთვის ^, ან თუ თქვენ გაქვთ 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 ზემოთ. 853 00:42:32,470 --> 00:42:33,460 და შემდეგ 1 ^ 1? 854 00:42:33,460 --> 00:42:35,050 CLASS: 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 ROB: ვფიქრობ, ეს არის ყველა გვაქვს საქმე. 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: Oh, რომ იქნება ბოლო პრობლემა. 861 00:42:44,912 --> 00:42:47,070 დინამიკები 27: Wait, კიდევ ერთხელ? 862 00:42:47,070 --> 00:42:47,940 ALI: უკაცრავად, რა იყო თქვენი შეკითხვა? 863 00:42:47,940 --> 00:42:49,564 >> დინამიკები 27: შეგიძლიათ განმარტავენ, რომ კიდევ ერთხელ? 864 00:42:49,564 --> 00:42:50,100 ^? 865 00:42:50,100 --> 00:42:51,490 დინამიკები 27: Exclus - Yeah. 866 00:42:51,490 --> 00:42:55,800 ALI: რა განსაკუთრებული ან ნიშნავს, რომ იქ უნდა იყოს მხოლოდ 867 00:42:55,800 --> 00:43:02,970 ერთი ჭეშმარიტი და ერთი ყალბი, ასე რომ ერთი 1 და ერთი 0, წინააღმდეგ ერთად ან, შეგიძლიათ აქვს - 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 დინამიკები 27: So 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 ამიტომ subtracting რომ გარეთ | გაძლევთ ^. 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 ALI: ვფიქრობდი, რომ სწორედ ეს ერთი. 892 00:44:07,830 --> 00:44:08,830 ROB: ეს არ. 893 00:44:08,830 --> 00:44:10,085 ALI: დარწმუნებული ხართ? 894 00:44:10,085 --> 00:44:11,300 ROB: დიახ, მე ვარ დადებითი. 895 00:44:11,300 --> 00:44:12,970 ALI: რატომ არ დავიწყებთ აკეთებს შემდეგი პრობლემა? 896 00:44:15,710 --> 00:44:19,790 პრობლემა ისაა, კიდევ ერთხელ, შეცვალოს იგი ამას რომ ზედა, და ამ 897 00:44:19,790 --> 00:44:21,720 დროს უნდა გამოიყენოთ bitwise ოპერატორები. 898 00:44:21,720 --> 00:44:22,970 ROB: ასე ჩვენ - 899 00:44:25,290 --> 00:44:29,670 დავიწყოთ ორობითი წარმომადგენლობა '', დედაქალაქის ', 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 ასე '' = 65, რაც =, წელს ორობითი - 903 00:44:47,900 --> 00:44:51,380 მე ვაპირებ mess up რაოდენობის 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 არ 16s, 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: Okay, ასე გვაქვს 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 დინამიკები 28: 32. 916 00:45:27,530 --> 00:45:28,130 ROB: ჰო. 917 00:45:28,130 --> 00:45:35,920 ასე რომ 32, რომელიც თავისი bit, ისე, რომ იქნება 110001. 918 00:45:35,920 --> 00:45:41,200 და ეს იქნება ჭეშმარიტი ყველა შესაძლო სიმბოლო. 919 00:45:41,200 --> 00:45:49,800 ასე რომ, თუ ჩვენ ვფიქრობთ of 'D', რომელიც იქნება 68, რომ იქნება 1000011. 920 00:45:49,800 --> 00:45:56,310 და შემდეგ ამას 'd' იქნება 68 Plus 32, რომელიც 100, რომელიც 921 00:45:56,310 --> 00:46:00,010 იქნება იგივე, რომ ეს იყო, უბრალოდ flipping 922 00:46:00,010 --> 00:46:04,300 32 ერთხელ, ამიტომ 1100011. 923 00:46:04,300 --> 00:46:08,610 ასე რომ განსხვავება ზედა და ამას წერილში მხოლოდ flipping 924 00:46:08,610 --> 00:46:10,170 რომ 32-bit პოზიცია. 925 00:46:10,170 --> 00:46:17,670 დინამიკები 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 რომელიც უნდა flipped შეცვალოს შორის. 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 განხილვა შორის საკუთარ თავს bit. 948 00:47:13,560 --> 00:47:16,390 ჩვენ მოგცემთ შანსს კოდი იგი. 949 00:47:16,390 --> 00:47:17,640 [INTERPOSING ხმები] 950 00:47:19,785 --> 00:47:22,695 ALI: - მაგარია 951 00:47:22,695 --> 00:47:26,590 დინამიკები 30: ეს არის მსგავსად Hacker კომედია. 952 00:47:26,590 --> 00:47:31,060 ALI: Yeah, ჩვენ უბრალოდ ვეუბნებოდი ამბები, გადის ეს. 953 00:47:31,060 --> 00:47:32,310 >> ROB: და ჩვენ უკან. 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 ამბები. 958 00:47:43,500 --> 00:47:46,848 ALI: Hacker ამბები 50. 959 00:47:46,848 --> 00:47:49,210 ALI: Feel Free ვთხოვო რაიმე კითხვა თუ თქვენ დაბნეული. 960 00:47:52,280 --> 00:47:53,980 ROB: ჩავთვლით ყველას დავრჩებოდით? 961 00:47:53,980 --> 00:47:57,160 ALI: ჰო, კარგი რამ. 962 00:47:57,160 --> 00:47:58,590 ALI: Wait, თქვენ დავრჩებოდით თქვენი სკამი? 963 00:47:58,590 --> 00:48:01,010 Oh. 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 სხვა bitwise ოპერატორს. 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 ჩვენ გვყავს bug ამ, რომელიც, ვფიქრობ, ჩვენ არასოდეს ცდილობდა აწარმოებს. 973 00:48:39,560 --> 00:48:44,140 რაც არის, რომ char გ საჭიროებს განაცხადა გარეთ მარყუჟის, რადგან 974 00:48:44,140 --> 00:48:45,805 მისი ფარგლების შეზღუდულია loop. 975 00:48:49,200 --> 00:48:53,060 დინამიკები 32: ამ შემთხვევაში, არის ის არასწორი გამოიყენოს ნომერი? 976 00:48:53,060 --> 00:48:56,930 ROB: EH, თქვენ არ გჭირდებათ. 977 00:48:56,930 --> 00:49:02,040 თუ მე გარანტირებულია, რომ დედაქალაქის A'- ან, მხედრულ '' მინუს კაპიტალის "' 978 00:49:02,040 --> 00:49:09,340 სწორედ ერთ bit, მაგრამ რომ არ იცით მისი 32 - 979 00:49:09,340 --> 00:49:13,160 რამ იმუშავებს მხოლოდ ასევე თითქოს 16 bit, რომელიც flipped - ან 980 00:49:13,160 --> 00:49:14,610 არა, მე ვფიქრობ, ეს wouldn't - 981 00:49:14,610 --> 00:49:18,270 ან 64 ბიტი იყო flipped, შესაძლოა. 982 00:49:18,270 --> 00:49:23,230 მაგრამ თქვენ არ უნდა უნდა გამოვიყენოთ 32. 983 00:49:23,230 --> 00:49:26,141 თქვენ შეიძლება ნაცვლად გამოიყენოთ მხედრულ '' მინუს დედაქალაქის ". 984 00:49:26,141 --> 00:49:29,340 >> დინამიკები 32: Okay. 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 სხვაობა = მხედრულ '' მინუს დედაქალაქის ". და 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 დინამიკები 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 ბიტიანი რომ flipped. 997 00:50:04,670 --> 00:50:06,610 დროის მოსაზრებები, დავიწყებთ აპირებს ამ. 998 00:50:09,170 --> 00:50:10,370 ეს okay თუ არ დასრულდა. 999 00:50:10,370 --> 00:50:13,090 არ ინერვიულოთ შესახებ. 1000 00:50:13,090 --> 00:50:16,260 ROB: თუ ვთქვათ C არის კაპიტალური წერილი - 1001 00:50:16,260 --> 00:50:18,030 ჩვენ არ უნდა ვივარაუდოთ გ არის კაპიტალური წერილში. 1002 00:50:18,030 --> 00:50:20,750 ჩვენ ვიცით, გ არის კაპიტალური წერილი შემდეგ ამ ხოლო loop - 1003 00:50:20,750 --> 00:50:22,160 do-ხოლო loop. 1004 00:50:22,160 --> 00:50:28,590 ასე რომ ნიშნავს, რომ იგი გამოიყურება მსგავსი რამ '. ასე რომ, თუ ჩვენ გვინდა, რათა ამ 1005 00:50:28,590 --> 00:50:32,895 '' ამ '', რას უნდა გავაკეთოთ? 1006 00:50:36,890 --> 00:50:41,920 ასე როგორ უნდა გადაიყვანოთ და Flip bit? 1007 00:50:48,040 --> 00:50:49,450 ALI: როგორ უნდა Flip ეს? 1008 00:50:49,450 --> 00:50:53,010 >> ROB: ასე ვიცით ჩვენ გვინდა Flip 32 bit. 1009 00:50:53,010 --> 00:50:59,722 ასე რომ ყველაფერს გააკეთებს "" მინუს "', ან ჩვენ შეეძლო დაეწერა 32, მაგრამ - 1010 00:50:59,722 --> 00:51:03,090 darn იგი, ეს პირიქით. 1011 00:51:03,090 --> 00:51:07,250 ALI: Okay ასე რობ აქ გამოთვლის, რომ ნომერი, ჯადოსნური ხმების 32. 1012 00:51:07,250 --> 00:51:12,000 მან დასკვნა, თუ სად, რომ ცოტა Flip ფართობი იქნებოდა. 1013 00:51:12,000 --> 00:51:14,810 და მერე რას დააყენა სადაც კითხვის ნიშნები არიან? 1014 00:51:14,810 --> 00:51:16,740 ROB: როგორ უნდა Flip რომ ცოტა? 1015 00:51:16,740 --> 00:51:22,784 თვალსაზრისით ზედა წერილში, ეს 0, და ჩვენ გვინდა, რომ გახდეს 1. 1016 00:51:22,784 --> 00:51:23,660 დინამიკები 34: |. 1017 00:51:23,660 --> 00:51:24,910 ROB: ჰო. 1018 00:51:28,780 --> 00:51:38,190 ასე რომ, ეს ჩვენთვის ამბობდა ვიღებთ ". ჩვენ 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 დინამიკები 35: ხართ [INAUDIBLE]? 1024 00:51:56,300 --> 00:51:57,590 ALI: სად არის მინუს ნიშანი? 1025 00:51:57,590 --> 00:51:58,500 ROB: Oh, თქვენ გულისხმობთ აქ? 1026 00:51:58,500 --> 00:51:59,070 ALI: Oh, yeah. 1027 00:51:59,070 --> 00:52:00,140 ROB: ასე ვფიქრობ ეს ჩვენთვის. 1028 00:52:00,140 --> 00:52:05,670 შეიძლება ითქვას, 32, და ახლა ჩვენ უბრალოდ გამოყენებით bitwise ოპერატორები. 1029 00:52:05,670 --> 00:52:07,010 ALI: ჩვენ არ მოგვწონს Magic ნომრები. 1030 00:52:07,010 --> 00:52:10,460 ჩვენ არ ვაპირებთ გავაკეთოთ, რომ. 1031 00:52:10,460 --> 00:52:13,592 ასევე მიმაჩნია, რომ უნდა მხოლოდ გამოიყენოთ bitwise ოპერატორი - 1032 00:52:13,592 --> 00:52:19,042 დინამიკები 36: თუ იყენებთ ^, იქნება თქვენ გაქვთ 32? 1033 00:52:19,042 --> 00:52:19,980 დინამიკები 37: Yeah, ვფიქრობ - 1034 00:52:19,980 --> 00:52:21,090 ROB: ჰო თქვენ. 1035 00:52:21,090 --> 00:52:23,320 ALI: ეს არის, თუ როგორ იქნებოდა გაკეთდეს მას აპირებს 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: Yeah, წავიდეთ წინ. 1043 00:52:46,178 --> 00:52:49,640 დინამიკები 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 გადაიყვანოთ ამ 'a'- 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 OH, მე მაინც მინდა, რომ ძალიან - 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 ბევრი bitwise ოპერატორების დასრულდება მდე მიმდინარეობს ძალიან ადვილად definable თვალსაზრისით 1056 00:54:01,680 --> 00:54:03,460 სხვა bitwise ოპერატორები. 1057 00:54:03,460 --> 00:54:11,150 ასე რომ მივდიოდი არ გამოიყენოთ ^ ან, მაგრამ ^ კარგად იმუშავა ჯარიმა. 1058 00:54:11,150 --> 00:54:17,910 >> ALI: Okay, ამიტომ ჩვენ ვაპირებთ წავიდეთ, ბოლო პრობლემა, რომელიც ძირითადი - 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: Oh yeah, რომ კარგი ერთი. 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: ახლა რა არის ჩვენი do-ხოლო მდგომარეობა იქნება? 1077 00:55:25,300 --> 00:55:27,750 ეს ითხოვს არასამთავრობო უარყოფითი რიცხვი. 1078 00:55:31,080 --> 00:55:34,280 ALI: როცა გვინდა შევინარჩუნოთ რამაც მომხმარებლის რაღაც სხვა? 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 ALI: ახლა ჩვენ აკონვერტირებთ იგი. 1083 00:55:45,120 --> 00:55:48,150 მიგაჩნიათ თუ არა ბიჭები რაიმე იდეები, თუ რა უნდა გააკეთოს? 1084 00:55:48,150 --> 00:55:49,400 ნებისმიერი inklings? 1085 00:55:53,610 --> 00:55:54,984 Yeah. 1086 00:55:54,984 --> 00:55:57,344 დინამიკები 39: გვაქვს გარდაქმნას იგი, თუ შეგვიძლია მხოლოდ ბეჭდვა ზოგიერთი 0S და 1s 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: რადგან მე უკვე ჩაიწერა როგორც binaries, ასე რომ თქვენ არ გჭირდებათ 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 და თქვენ აპირებს უნდა გამოვიყენოთ bitwise, რადგან გსურთ შევხედოთ 1098 00:56:32,140 --> 00:56:33,390 ფაქტობრივი ბიტი. 1099 00:56:37,060 --> 00:56:38,600 თქვენ არ უნდა გამოვიყენოთ bitwise, მაგრამ გთხოვთ. 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 ჩვენ წავიდეთ მეტი ერთი ბოლო ორი ორობითი bitwise ოპერატორები, 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 მარცხენა Shift 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 და ჩადეთ ორი 0S შევსება ხარვეზები. 1116 00:57:41,950 --> 00:57:43,200 კითხვა? 1117 00:57:44,890 --> 00:57:47,510 ALI: ასეა, მაშინ მარჯვენა Shift ს მსგავსი რამ. 1118 00:57:47,510 --> 00:57:53,190 თუ თქვენ გაქვთ 9 მარჯვენა Shift 1 მაშინ თქვენ მხოლოდ მოძრავი ყველაფერი გადასცა 1119 00:57:53,190 --> 00:57:57,890 უფლება, დაკარგვის ციფრი, ასე რომ 100 მაგივრად. 1120 00:57:57,890 --> 00:58:04,142 ROB: ასე, რომ თქვენ ეს ჯარიმა, რომ თქვენ დაკარგვის bit, რაც მოხდა, რომ იყოს ყველა 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 მარჯვენა Shift როგორც მხოლოდ გამყოფი მიერ 2. 1124 00:58:11,410 --> 00:58:14,430 და შეგიძლიათ წარმოიდგინოთ, რომ მარცხენა Shift როგორც გამრავლებით მიერ 2. 1125 00:58:14,430 --> 00:58:16,490 ასე რომ, თუ თქვენ ამ მოაქცია - 1126 00:58:16,490 --> 00:58:22,350 თუ მოაქცია 9 Shift 1, რომელიც უდრის 10010, თუ თქვენ ნამდვილად მივიდა 1127 00:58:22,350 --> 00:58:25,100 მეშვეობით ორობითი და figured რა რომ იყო, ეს იქნებოდა მხოლოდ 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 Okay, ზემოთ, ასე რომ მოსახერხებელი bitwise ოპერატორს ამ ერთ. 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: Yeah, Okay. 1137 00:59:01,880 --> 00:59:03,370 ROB: და გავლა ერთად. 1138 00:59:03,370 --> 00:59:04,440 >> ALI: Well მე უბრალოდ მივანიჭო. 1139 00:59:04,440 --> 00:59:09,700 ასე რომ, როგორც მან განაცხადა, წლის დასაწყისში, ჩვენ ვაპირებთ უბრალოდ გავლა ნელ bit. 1140 00:59:09,700 --> 00:59:11,890 ამიტომ, ჩვენ ვაპირებთ გვჭირდება loop. 1141 00:59:11,890 --> 00:59:16,730 ვინმეს აქვს იდეა საუკეთესო სახის მარყუჟის გავლა ამ? 1142 00:59:16,730 --> 00:59:20,544 ჩვენ გვყავს ხოლო მარყუჟების, do-ხოლო მარყუჟების, ამისთვის მარყუჟების. 1143 00:59:20,544 --> 00:59:22,400 დინამიკები 40: do-ხოლო loop? 1144 00:59:22,400 --> 00:59:25,150 ROB: ასე მახსოვს რა ვთქვი დაახლოებით, ჩვენ მხოლოდ გამოყენებით do-ხოლო 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: პრობლემა do-ხოლო მარყუჟების არის ეს ასეა რაღაც სანამ ამოწმებს ამისთვის 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: არსებობს უამრავი შემთხვევა, როდესაც თქვენ შეგიძლიათ გამოიყენოთ do-ხოლო მარყუჟების, მაგრამ ხალხი 1154 00:59:47,620 --> 00:59:52,120 არ ველით თქვენ მათი გამოყენება, თუ იგი არის მომხმარებლის შეყვანის. 1155 00:59:52,120 --> 00:59:54,215 ამიტომ ჩვენ გამოყენებული ჩვენი do-ხოლო loop მისაღებად მე. 1156 00:59:57,160 --> 01:00:01,260 რამდენჯერ არის ჩვენი loop აპირებს გვინდა loop? 1157 01:00:01,260 --> 01:00:04,060 ჩვენ გვინდა, რომ მარყუჟი აღემატება თითოეული ბიტი, I. 1158 01:00:04,060 --> 01:00:06,302 რამდენი ბიტი არიან მე? 1159 01:00:06,302 --> 01:00:07,266 დინამიკები 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: Nope. 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 >> დინამიკები 42: [INAUDIBLE] 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: ბაიტი, ბოდიში - 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 ROB: ხოლო სხვაობა byte და ცოტა ის არის, რომ იქ 1188 01:01:17,480 --> 01:01:19,100 არის 8 ბიტი წელს byte. 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: Okay, ასე ვიცით მაქსიმალური და ვიცით, ჩვენ გვინდა აქედან - 1192 01:01:27,680 --> 01:01:29,260 ჩვენ გვინდა გავლა ყველა მათგანი. 1193 01:01:29,260 --> 01:01:32,950 ასე რომ ჩვენ გვინდა აქედან 0 to numBits. 1194 01:01:32,950 --> 01:01:37,160 ასე რომ ვინმეს იციან, როგორ დაწერონ loop რომ? 1195 01:01:37,160 --> 01:01:37,790 ვინმე? 1196 01:01:37,790 --> 01:01:39,680 დინამიკები 43: [INAUDIBLE] 1197 01:01:39,680 --> 01:01:44,130 ALI: ასე გსურთ traverse ხმების მე საწყისი zeroth მწირი 1198 01:01:44,130 --> 01:01:47,840 პირველი bit, მეორე ბიტი, მესამე ცოტა, ყველა გზა numBits. 1199 01:01:47,840 --> 01:01:50,972 მაქსიმალური რაოდენობის ბიტი რომ თქვენ შეგიძლიათ მიიღოთ. 1200 01:01:54,420 --> 01:01:57,780 ROB: რა არის საერთო loop ვიყენებთ რაც ჩვენ გვინდა, რომ რამე x ჯერ? 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 და შემდეგ ჩვენ დაგიმზადებთ iterator, რომელიც არ იქნება მე. 1205 01:02:05,242 --> 01:02:06,850 ROB: კ. 1206 01:02:06,850 --> 01:02:08,080 ALI: J = 0. 1207 01:02:08,080 --> 01:02:09,740 ასე დავიწყებთ at 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 [INTERPOSING ხმები] 1211 01:02:16,960 --> 01:02:17,960 ROB: კ. 1212 01:02:17,960 --> 01:02:19,970 ALI: კ ნაკლებია, ვიდრე numBits. 1213 01:02:19,970 --> 01:02:23,680 ამიტომ, ჩვენ არ გვსურს რომ ფაქტობრივი შეადგენს ერთი, რადგან ისინი numBits 1214 01:02:23,680 --> 01:02:25,365 სულ, და ჩვენ ვიწყებთ at 0. 1215 01:02:25,365 --> 01:02:26,360 ასე რომ ჩვენ რეალურად გვექნება - 1216 01:02:26,360 --> 01:02:27,400 დინამიკები 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 to 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 >> დინამიკები 45: რატომ აკეთებთ ამას? 1223 01:02:42,740 --> 01:02:46,100 დინამიკები 46: რატომ გადის ყველა bit? 1224 01:02:46,100 --> 01:02:49,310 ROB: ასე გვინდა გავლა ყველა bit და - 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 მაშინ ჩვენ წავიდეთ შემდეგ bit. 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, okay. 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 ვთქვათ ჩვენ დროს j = 0, ამიტომ ჩვენ გვინდა შევამოწმოთ 0 მაჩვენებელი bit. 1243 01:03:33,130 --> 01:03:37,980 ასე რომ, ამ შემთხვევაში, ეს ერთი. 1244 01:03:37,980 --> 01:03:41,930 >> ახლა როგორ უნდა წავიდეს შესახებ შეამოწმოს - Oh, იქნება ეს ერთი. 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 CLASS: და 1? 1251 01:03:53,940 --> 01:03:54,390 ALI: და? 1252 01:03:54,390 --> 01:03:55,010 Yeah. 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 = i. 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 დინამიკები 47: 2. 1263 01:04:34,294 --> 01:04:36,110 ROB: Yeah, მეორე, რომ ჩვენ 2. 1264 01:04:36,110 --> 01:04:39,100 ALI: თქვენ შეამჩნევთ, რომ 1 გადავიდა მეტი მარცხნივ ერთი. 1265 01:04:39,100 --> 01:04:44,320 ასე რომ არ გავიგეთ ნებისმიერი bitwise ოპერატორების გავაკეთოთ, რომ ფუნქცია? 1266 01:04:44,320 --> 01:04:45,160 ROB: ერთი - 1267 01:04:45,160 --> 01:04:46,280 ALI: Yeah, უფლება, ზუსტად. 1268 01:04:46,280 --> 01:04:48,670 ასე რომ მარცხენა Shift. 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 თუ ჩვენ შემოწმების zeroth ერთი მაშინ ჩვენ ვაპირებთ მისი გადატანა მეტი ნულოვანი. 1272 01:04:59,340 --> 01:04:59,975 ჰო, ზუსტად. 1273 01:04:59,975 --> 01:05:02,090 ასე, რომ თქვენ დაუტოვებიათ გადაეტანა იგი კ. 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 of თუ 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: ჩვენი პროგრამა მთლიანობაში bug. 1282 01:05:33,350 --> 01:05:35,845 ისე, კითხვები ამ პირველი. 1283 01:05:35,845 --> 01:05:41,692 დინამიკები 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 ჩვენ შეგვიძლია რეალურად ნახოთ, რომ ერთხელ ჩვენ დაფიქსირება bug რომ მე უნდა 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 აქედან გამომდინარე ორობითი წარმომადგენლობა, ჩვენ დაწყებული zeroth bit. 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 მაშინ ჩვენ წასვლა მეორე bit. 1294 01:06:16,860 --> 01:06:19,100 ეს 0, ამიტომ ჩვენ ბეჭდვა 0. 1295 01:06:19,100 --> 01:06:20,290 მაშინ ჩვენ წასვლა მესამე bit. 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 დინამიკები 49: [INAUDIBLE] 1300 01:06:28,900 --> 01:06:29,490 ROB: ჰო. 1301 01:06:29,490 --> 01:06:34,500 ასე რომ ნაცვლად აპირებს საწყისი 0 to numBits, ჩვენ აქედან numBits ბიტი უნდა 0. 1302 01:06:34,500 --> 01:06:35,600 ALI: So [INAUDIBLE] 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 to 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 დინამიკები 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 By უკუქცევის ამ აქ, ჩვენ დავამარცხებთ ბრძანებით ყველაფერი 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 Okay, ასე ამჯამად ვინმეს აქვს რაიმე სხვა კონცეპტუალური კითხვები? 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 ROB: ნაცვლად გამოყენებით კ იყოს ჩვენი - 1326 01:07:55,780 --> 01:08:00,550 ნაცვლად გამოყენებით კ ყოველთვის გადაეტანა მიერ, როგორც ერთი მარცხენა Shift j, ვფიქრობ რა 1327 01:08:00,550 --> 01:08:04,120 თქვენ ამბობდა ჰგავს, რომ კ გამოიყენოთ თვით. 1328 01:08:04,120 --> 01:08:09,560 ასე რომ j - 1329 01:08:09,560 --> 01:08:14,656 ვფიქრობ ეს არის რთული - j = 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 კ >>, >> isOne, მე & J - 1334 01:08:32,319 --> 01:08:35,620 ახლა ნაცვლად გამოყენებით - 1335 01:08:35,620 --> 01:08:38,370 ALI: თქვენ მუდმივად მოძრავი კ ნაცვლად, რომელმაც 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 OH, მაგრამ გვეკარგება იგი. 1341 01:08:50,020 --> 01:08:51,380 Okay, თქვენ მხოლოდ ამ აპირებს აკრიფოთ ისევ. 1342 01:08:51,380 --> 01:08:56,880 თუ თქვენ შეამჩნევთ, რომ ჩვენ გვყავს 1 << კ თანხის ჯერ, და ჩვენ 1343 01:08:56,880 --> 01:09:02,279 დამატება j თითოეული დროს ერთი წუთობრივი, მაგრამ ამ დროს ნაცვლად 1344 01:09:02,279 --> 01:09:06,010 ისინი აკეთებენ მატების კ ზედა შიგნით ამისთვის loop. 1345 01:09:06,010 --> 01:09:10,890 ასე რომ ნაცვლად ყოველთვის მოძრაობს მისი დანგრევა - 1346 01:09:10,890 --> 01:09:15,220 ROB: პირველივე iteration of ამისთვის მარყუჟის, ჩვენ გვაქვს j არის 10000. 1347 01:09:15,220 --> 01:09:20,000 შემდეგი iteration of ამისთვის loop არის 01000. 1348 01:09:20,000 --> 01:09:22,380 შემდეგი iteration არის, რომ. 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 იქნება უბიძგა, და კ აღარ არის მეტ 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 Yeah. 1357 01:09:44,760 --> 01:09:49,740 >> დინამიკები 51: [INAUDIBLE] 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. ასე კ >> = 3 არის 1362 01:10:05,560 --> 01:10:10,490 ტოლია j = j >> 3. 1363 01:10:13,980 --> 01:10:16,760 ასე რომ მუშაობს ასევე bitwise ოპერატორები. 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, არ Magic ნომრები. 1367 01:10:25,380 --> 01:10:29,070 Okay, ეს 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 უკვე საუბარი ternary ოპერატორი ყველა? 1371 01:10:41,326 --> 01:10:42,730 ALI: № 1372 01:10:42,730 --> 01:10:45,090 ეს okay. 1373 01:10:45,090 --> 01:10:46,970 ROB: ასე, რომ თქვენ შეიძლება შეესწავლათ ეს მომავალი დრო. 1374 01:10:51,030 --> 01:10:52,080 ALI: Okay, ნამდვილად? 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 ამიტომ პირველ შეამოწმოთ, არის I და კ 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 ALI: მაგრამ ამით მას სხვა გზა სრულიად ჯარიმა ისევე. 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: ამ ეტაპზე, ჩვენ შეგვიძლია თავი დავაღწიოთ იმ Curly braces, რადგან მხოლოდ 1386 01:11:24,620 --> 01:11:27,190 ერთი ხაზი loop. 1387 01:11:27,190 --> 01:11:29,370 ALI: Okay, ასე რომ ამჯამად აზრი? 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 მადლობა მოდის მონაკვეთზე.