1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Nate HARDISON: In ვიდეო ორობითი, ჩვენ ნახოთ როგორ 2 00:00:09,290 --> 00:00:12,540 წარმოადგენენ კომპლექტი მთელი რიცხვები, ნულიდან on up, 3 00:00:12,540 --> 00:00:15,110 გამოყენებით მხოლოდ ციფრები ნულოვანი და ერთი. 4 00:00:15,110 --> 00:00:17,890 ამ ვიდეო, ჩვენ ვაპირებთ გამოვიყენოთ ორობითი ნოტაცია, რათა 5 00:00:17,890 --> 00:00:21,160 წარმოადგენენ ტექსტის, წერილებით და ასეთი, ისევე. 6 00:00:21,160 --> 00:00:22,810 >> რატომ ჩვენ ვახვევთ ამის გაკეთება? 7 00:00:22,810 --> 00:00:25,450 ისე, ქვეშ Hood, კომპიუტერი მხოლოდ ნამდვილად 8 00:00:25,450 --> 00:00:29,070 ესმის zeros და პირობა, ორობითი ციფრები, რადგან ეს 9 00:00:29,070 --> 00:00:32,100 შეიძლება წარმოდგენილია მარტივად ელექტრომაგნიტური რამ. 10 00:00:32,100 --> 00:00:35,040 >> მაგალითად, ვფიქრობ თქვენი კომპიუტერის მეხსიერების მსგავსად ხანგრძლივი 11 00:00:35,040 --> 00:00:37,810 string of ნათურებით, რომლის დროსაც თითოეული ბოლქვი 12 00:00:37,810 --> 00:00:40,680 წარმოადგენს ნულოვანი თუ ეს გამორთულია, და ერთი 13 00:00:40,680 --> 00:00:42,230 თუ ეს არ მოხდა. 14 00:00:42,230 --> 00:00:44,730 ნაცვლად გამოყენებით bunch of ნათურებით, ზოგიერთი თანამედროვე 15 00:00:44,730 --> 00:00:46,990 მეხსიერების ამჯამად ამ გამოყენებით capacitors რომ გამართავს დაბალი 16 00:00:46,990 --> 00:00:49,120 დაევალოს წარმოადგენს ნულოვანი და მაღალი ბრალდებით 17 00:00:49,120 --> 00:00:50,780 წარმოადგინოს ერთი. 18 00:00:50,780 --> 00:00:52,510 >> არსებობს სხვა ტექნიკას ისევე. 19 00:00:52,510 --> 00:00:55,500 ყოველ შემთხვევაში, რათა შესანახად არაფერი მეხსიერება, ჩვენ გვჭირდება 20 00:00:55,500 --> 00:00:57,590 პირველი დააკონვერტიროთ ის რაღაც, რაც შეიძლება რეალურად 21 00:00:57,590 --> 00:01:00,140 წარმოდგენილი ფიზიკური აპარატურა. 22 00:01:00,140 --> 00:01:02,450 მოდით ვიფიქროთ, როგორ შეიძლება წარმოადგენდეს წერილები 23 00:01:02,450 --> 00:01:04,230 ორობითი ნოტაცია. 24 00:01:04,230 --> 00:01:08,141 ინგლისურ, გვაქვს 26 ასო ანბანის,, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, და ასე შემდეგ, up მეშვეობით ზ ჩვენ შეგვიძლია მივუთითოთ თითოეული 26 00:01:12,930 --> 00:01:16,650 ამ რაოდენობის, ამბობენ ნულოვანი მეშვეობით 25 და შემდეგ გამოყენებით 27 00:01:16,650 --> 00:01:18,880 ორობითი ნოტაცია, ჩვენ შეგვიძლია წარმოვადგინოთ თითოეული ნომრის როგორც 28 00:01:18,880 --> 00:01:20,890 თანმიმდევრობა zeros და პირობა. 29 00:01:20,890 --> 00:01:22,420 ეს არ არის ძალიან ცუდი. 30 00:01:22,420 --> 00:01:25,050 თუმცა, ეს არ იქნება საკმარისი. 31 00:01:25,050 --> 00:01:27,680 ამ სისტემას, ჩვენ ვერ რეალურად განასხვავოს 32 00:01:27,680 --> 00:01:29,830 ზედა და ქვედა რეესტრის ლათინური ასოებისაგან. 33 00:01:29,830 --> 00:01:32,140 თუ ჩვენ გვინდა ჩვენი კომპიუტერიდან შეძლებთ განსხვავდება ერთმანეთისგან 34 00:01:32,140 --> 00:01:36,020 ორი შემთხვევა, მაშინ ჩვენ გვჭირდება დამატებით 26 ნომრები. 35 00:01:36,020 --> 00:01:38,700 რაც შეეხება პერიოდებში, მძიმეები და 36 00:01:38,700 --> 00:01:40,390 სხვა სასვენი ნიშნებიც? 37 00:01:40,390 --> 00:01:43,560 >> ჩემს კლავიატურაზე, მაქვს 32 იმ, მათ შორის ყველა 38 00:01:43,560 --> 00:01:46,800 სპეციალური სიმბოლოების მოსწონს caret და ampersand. 39 00:01:46,800 --> 00:01:49,700 ეს არ არის მათ შორის ციფრი გმირები, ნულოვანი მეშვეობით ცხრა, 40 00:01:49,700 --> 00:01:51,840 რადგან გვინდა, რომ სწრაფად აკრიფოთ ნომრები ათობითი 41 00:01:51,840 --> 00:01:54,840 ნოტაცია კომპიუტერზე, თუნდაც კომპიუტერულ მხოლოდ ნამდვილად 42 00:01:54,840 --> 00:01:57,830 ესმის ორობითი ნოტაცია ქვეშ hood. 43 00:01:57,830 --> 00:02:00,620 >> და ბოლოს, ჩვენ უნდა წარმოადგინოს სივრცის ხასიათი ისე 44 00:02:00,620 --> 00:02:02,450 რომ ჩვენი ფართი ბარი მუშაობს. 45 00:02:02,450 --> 00:02:04,920 ასე მჭიდროდაა თუ როგორ წარმოადგენენ ტექსტის კომპიუტერი 46 00:02:04,920 --> 00:02:08,400 იღებს ოდნავ მეტი შეიძლება არ ეგონა, თავდაპირველად. 47 00:02:08,400 --> 00:02:11,710 გარდა ამისა, ჩვენ ვივარაუდოთ, მაშინ ამუშავება საკუთარი კოდირების 48 00:02:11,710 --> 00:02:14,560 სქემა წარმოადგენს პერსონაჟების როგორც ციფრები. 49 00:02:14,560 --> 00:02:17,470 თუმცა ჩვენ გადაწყვეტენ encode გმირები აუცილებლად იქნება 50 00:02:17,470 --> 00:02:20,630 თვითნებური, როგორც დავინახეთ, ადრე, როდესაც ჩვენ ვისაუბრეთ გამოყენებით 51 00:02:20,630 --> 00:02:23,730 ნომრები ნულის მეშვეობით 25 წარმოადგინოს წერილების 52 00:02:23,730 --> 00:02:26,850 მეშვეობით ზ რატომ არ იყენებენ 10 გზით 35 ასე, რომ ჩვენ შეგვიძლია გადარჩენა 53 00:02:26,850 --> 00:02:29,350 ნულოვანი მეშვეობით ცხრა ამისთვის ციფრი გმირები? 54 00:02:29,350 --> 00:02:31,590 >> არ არსებობს რეალური მიზეზი, ჩვენ უბრალოდ აირჩია რასაც ჩანდა 55 00:02:31,590 --> 00:02:33,770 საუკეთესო ჩვენთვის. 56 00:02:33,770 --> 00:02:37,650 თავში ადრეულ 1960, ეს იყო რეალური პრობლემა. 57 00:02:37,650 --> 00:02:39,370 სხვადასხვა კომპიუტერულ მწარმოებლები იყენებენ 58 00:02:39,370 --> 00:02:41,910 სხვადასხვა კოდირების სქემები, და ეს გააკეთა ურთიერთობა 59 00:02:41,910 --> 00:02:44,340 შორის სხვადასხვა მანქანები ძალიან რთულია. 60 00:02:44,340 --> 00:02:47,810 ამერიკის ეროვნული სტანდარტების ინსტიტუტი, ANSI, 61 00:02:47,810 --> 00:02:50,210 ჩამოყალიბდა კომიტეტის განავითაროს საერთო სქემა. 62 00:02:50,210 --> 00:02:53,780 და 1963 წელს, ამერიკული სტანდარტული კოდი ინფორმაციის 63 00:02:53,780 --> 00:02:58,600 ცვლა, უფრო საყოველთაოდ ცნობილი, როგორც ASCII, დაიბადა. 64 00:02:58,600 --> 00:03:01,360 >> ASCII შეიქმნა როგორც შვიდი ბიტიანი კოდირების, რომელიც 65 00:03:01,360 --> 00:03:03,800 იმას ნიშნავს, რომ ყოველი პერსონაჟი წარმოდგენილია კომბინაცია 66 00:03:03,800 --> 00:03:06,070 შვიდი zeros და პირობა. 67 00:03:06,070 --> 00:03:09,670 იმ ორი შესაძლო მნიშვნელობებია, ნულოვანი ან ერთი, თითოეული 68 00:03:09,670 --> 00:03:14,040 იმ შვიდი ბიტი, არის ორი მეშვიდე ან 128 69 00:03:14,040 --> 00:03:16,120 გმირები, რომელიც შეიძლება წარმოდგენილი ASCII 70 00:03:16,120 --> 00:03:18,140 კოდირების სქემა. 71 00:03:18,140 --> 00:03:21,480 ასე რომ 128 გმირები ჟღერს ბევრი, არა? 72 00:03:21,480 --> 00:03:24,180 კარგად გახსოვდეთ, რომ არსებობს 26 ამას შრიფტით 73 00:03:24,180 --> 00:03:29,260 ინგლისური, კიდევ 26 ზედა ასოების, 10 ციფრი გმირები, 74 00:03:29,260 --> 00:03:31,470 32 პუნქტუაციის და სპეციალური სიმბოლოების, 75 00:03:31,470 --> 00:03:33,430 და ერთ სივრცეში ხასიათი. 76 00:03:33,430 --> 00:03:37,050 >> რომ აყენებს ჩვენს დროს 95, და ჩვენ კიდევ 33 ჩარი, რომ ჩვენ 77 00:03:37,050 --> 00:03:38,400 შეიძლება წარმოადგენენ. 78 00:03:38,400 --> 00:03:39,900 >> ასე რომ, რა დაუტოვებიათ? 79 00:03:39,900 --> 00:03:43,130 ისე, წელს დღეებში განვითარების ASCII, teletype 80 00:03:43,130 --> 00:03:45,080 მანქანები, რომლებიც საბეჭდი მანქანები, რომლებიც გამოიყენება 81 00:03:45,080 --> 00:03:48,040 შეტყობინებები მასშტაბით ქსელის, იყო გავრცელებული. 82 00:03:48,040 --> 00:03:50,030 და ეს მანქანები ჰქონდა დამატებითი პერსონაჟების გამოიყენება 83 00:03:50,030 --> 00:03:52,890 აკონტროლებენ მათ, მაგალითად, მათ ვუთხრა, როდესაც გადაადგილება 84 00:03:52,890 --> 00:03:57,620 ბეჭდვა ხელმძღვანელი ქვემოთ ხაზის, ხაზის Feed ან ახალი ხაზი გასაღები, 85 00:03:57,620 --> 00:04:00,440 როდესაც გადასვლის მარცხენა ზღვარი, ვაგონი დაბრუნების, 86 00:04:00,440 --> 00:04:04,890 ან უბრალოდ დააბრუნოს გასაღები, და როდის უნდა დაბრუნდეს ერთ სივრცეში, 87 00:04:04,890 --> 00:04:07,760 backspace ხასიათი, და ასე შემდეგ. 88 00:04:07,760 --> 00:04:10,250 >> ეს გმირები უწოდებენ კონტროლს გმირები, და ისინი 89 00:04:10,250 --> 00:04:12,680 წარმოადგენს დანარჩენ ASCII კომპლექტი. 90 00:04:12,680 --> 00:04:15,230 ასე რომ, თუ დავაკვირდებით ASCII მაგიდასთან, ჩვენ ვხედავთ, რომ პირველი 91 00:04:15,230 --> 00:04:18,800 32 ნომრები, ნულოვანი მეშვეობით 31, დაცულია კონტროლის 92 00:04:18,800 --> 00:04:20,200 სიმბოლო. 93 00:04:20,200 --> 00:04:23,420 მაგრამ ჩვენ უბრალოდ განაცხადა, რომ არსებობს 33 კონტროლის სიმბოლო. 94 00:04:23,420 --> 00:04:24,780 რა გარიგება? 95 00:04:24,780 --> 00:04:29,350 ისე, ხმების ნულოვანი და 127, პირველი და უკანასკნელი 96 00:04:29,350 --> 00:04:32,560 ASCII კომპლექტი, აქვს სპეციალური bit შაბლონებს, ყველა zeros და ყველა 97 00:04:32,560 --> 00:04:34,710 პირობა, შესაბამისად. 98 00:04:34,710 --> 00:04:36,860 >> დიზაინზე ASCII გადაწყვიტა, ამიტომ, 99 00:04:36,860 --> 00:04:39,610 შეინარჩუნოს ამ ნომრებზე დამატებით სპეციალური სიმბოლოები, 100 00:04:39,610 --> 00:04:43,310 კერძოდ null ხასიათი და DEL ხასიათი. 101 00:04:43,310 --> 00:04:46,340 Null და DEL იყო განკუთვნილი ქაღალდის ლენტი რედაქტირება, რომელიც გამოიყენება 102 00:04:46,340 --> 00:04:48,930 იყოს საერთო გზა შენახვის მონაცემები. 103 00:04:48,930 --> 00:04:51,850 ქაღალდის ლენტი იყო სიტყვასიტყვით უბრალოდ გრძელი ზოლები ქაღალდი, და 104 00:04:51,850 --> 00:04:53,760 რეგულარული ინტერვალებით on ფირზე, ნეტავ Punch 105 00:04:53,760 --> 00:04:55,430 ხვრელებს შესანახად მონაცემები. 106 00:04:55,430 --> 00:04:58,720 დამოკიდებულია სიგანე ფირზე, თითოეული სვეტი იქნება 107 00:04:58,720 --> 00:05:03,186 შეუძლია განსახლება ხუთი, ექვსი, შვიდი, რვა ბიტი. 108 00:05:03,186 --> 00:05:05,930 >> წარმოდგენა ნულოვანი ბიტი, ნეტავ არაფერი რომ ფირზე, ნეტავ 109 00:05:05,930 --> 00:05:07,930 უბრალოდ დატოვოთ ცარიელი სივრცე. 110 00:05:07,930 --> 00:05:10,560 ერთი ბიტი, ნეტავ Punch ხვრელი. 111 00:05:10,560 --> 00:05:12,980 Null ხასიათი რომ დატოვოს ცარიელი სვეტი, 112 00:05:12,980 --> 00:05:14,480 მითითებით ყველა zeros. 113 00:05:14,480 --> 00:05:17,250 და DEL ხასიათი რომ Punch სვეტი სავსე ხვრელებს 114 00:05:17,250 --> 00:05:18,550 საშუალებით თქვენი ფირზე. 115 00:05:18,550 --> 00:05:21,300 შედეგად, თქვენ შეიძლება გამოიყენოთ DEL ხასიათი წაშლა 116 00:05:21,300 --> 00:05:22,440 ინფორმაციას. 117 00:05:22,440 --> 00:05:25,060 წარმოიდგინეთ აღების შევსებული-out საარჩევნო ბიულეტენების და შემდეგ 118 00:05:25,060 --> 00:05:27,180 Punching ყველა unpunched ხვრელებს. 119 00:05:27,180 --> 00:05:29,410 >> თქვენ ძალადაკარგულად კენჭისყრით რადგან შეუძლებელია 120 00:05:29,410 --> 00:05:31,820 ვუთხრა რა ორიგინალური რაოდენობა იყო. 121 00:05:31,820 --> 00:05:34,720 მიუხედავად იმისა, რომ DEL ხასიათი დღესაც გამოიყენება არის თანამედროვე 122 00:05:34,720 --> 00:05:37,980 წაშალე გასაღები, null ხასიათი მოვიდა გამოყენებულ იქნას როგორც 123 00:05:37,980 --> 00:05:40,010 შეწყვეტის ხასიათი ამისთვის C სტრიქონები და 124 00:05:40,010 --> 00:05:41,990 ზოგიერთი სხვა მონაცემები ფორმატებში. 125 00:05:41,990 --> 00:05:45,140 მოგეხსენებათ, როგორც backslash ნულოვანი ხასიათი, 126 00:05:45,140 --> 00:05:47,720 რადგან ეს არის ის, თუ როგორ წარმოვადგენთ მას წერილობით. 127 00:05:47,720 --> 00:05:49,580 ასე რომ თავში ჩვენი ASCII მაგიდასთან. 128 00:05:49,580 --> 00:05:52,770 შემდეგ პირველი 32 კონტროლის გმირები მოდიან 95 129 00:05:52,770 --> 00:05:54,280 ამოსაბეჭდი სიმბოლო. 130 00:05:54,280 --> 00:05:55,800 >> არსებობს რამდენიმე cool დიზაინი გადაწყვეტილებების ღირს 131 00:05:55,800 --> 00:05:57,330 ვსაუბრობთ აქ. 132 00:05:57,330 --> 00:06:00,810 პირველი, ათობითი ციფრი გმირები, ნულოვანი მეშვეობით ცხრა, 133 00:06:00,810 --> 00:06:04,050 შეესაბამება ნომრები 48 გზით 57, რომელიც, როგორც ჩანს, 134 00:06:04,050 --> 00:06:06,980 ნაწილი არაფრით იყო გამორჩეული, სანამ შევხედავთ ნომრები 48 გზით 57 135 00:06:06,980 --> 00:06:09,080 დაწერილი ორობითი ნოტაცია. 136 00:06:09,080 --> 00:06:11,530 თუ ჩვენ გავაკეთებთ, მაშინ დავინახავთ, რომ ციფრი ხასიათი, 137 00:06:11,530 --> 00:06:22,320 ნულოვანი, შეესაბამება 0110000, ერთი რუკების 0110001, ორი 138 00:06:22,320 --> 00:06:26,640 0110010, და ასე შემდეგ. 139 00:06:26,640 --> 00:06:27,950 იხილეთ ნიმუში? 140 00:06:27,950 --> 00:06:30,170 თითოეული ციფრი ხასიათი არის mapped მის შესაბამის 141 00:06:30,170 --> 00:06:35,170 ექვივალენტი ორობითი ნოტაცია, prefixed ერთად 011. 142 00:06:35,170 --> 00:06:38,820 შემდეგი up, თქვენ შეამჩნევთ რომ ზედა წერილებს იწყება 65, 143 00:06:38,820 --> 00:06:41,310 ერთად ზედა, არამედ ქვედა რეესტრის ლათინური ასოებისაგან 144 00:06:41,310 --> 00:06:43,010 არ დაიწყება მანამ, სანამ 97. 145 00:06:43,010 --> 00:06:45,580 ასე რომ 32 ფართები შორის. 146 00:06:45,580 --> 00:06:47,000 რომ როგორც ჩანს უცნაური. 147 00:06:47,000 --> 00:06:49,500 ისინი მხოლოდ 26 ასო ანბანი. 148 00:06:49,500 --> 00:06:51,410 >> რატომ გაიყო მათ ასე? 149 00:06:51,410 --> 00:06:53,960 ისევ და ისევ, თუ დავაკვირდებით ორობითი წარმომადგენლობების, ჩვენ შეგვიძლია 150 00:06:53,960 --> 00:06:55,230 იხილეთ ნიმუში. 151 00:06:55,230 --> 00:07:01,360 ზედა წარმოდგენილია 1000001, და მხედრულ არის 152 00:07:01,360 --> 00:07:05,810 წარმოდგენილია 1100001. 153 00:07:05,810 --> 00:07:12,770 ზედა B წარმოდგენილია 1000010, და ამას ბ არის 154 00:07:12,770 --> 00:07:17,280 წარმოდგენილია 1100010. 155 00:07:17,280 --> 00:07:19,440 შეგიძლიათ გითხრათ რა ხდება აქ? 156 00:07:19,440 --> 00:07:22,470 ცოტა რომ მეორე მარცხნიდან, ხოლო ორი 157 00:07:22,470 --> 00:07:26,510 მეხუთედით, ამისთვის 32ths პოზიცია, არის 0 ყველა ზედა 158 00:07:26,510 --> 00:07:30,120 წერილებს, და 1 ყველა ამას წერილებს. 159 00:07:30,120 --> 00:07:33,130 >> ეს იმას ნიშნავს, კონვერტაცია საწყისი ზედა რომ ამას, და 160 00:07:33,130 --> 00:07:36,000 პირიქით, არის საკითხი მარტივი bit Flip. 161 00:07:36,000 --> 00:07:38,380 ასე რომ მოაქვს ბოლომდე ASCII მაგიდასთან. 162 00:07:38,380 --> 00:07:40,700 რამდენად შეიძლება არაფერი ჩვენ დავიწყებული? 163 00:07:40,700 --> 00:07:42,510 ისე, რაც შეეხება ესპანურ მობილური, ან 164 00:07:42,510 --> 00:07:44,630 საბერძნეთის ან კირილიცას დამწერლობას? 165 00:07:44,630 --> 00:07:46,610 და როგორ შესახებ ჩინურ სიმბოლოებს? 166 00:07:46,610 --> 00:07:49,050 არსებობს ბევრი რომ უკვე დატოვეს ASCII. 167 00:07:49,050 --> 00:07:51,920 თუმცა, კიდევ ერთი სტანდარტი მოუწოდა Unicode უკვე 168 00:07:51,920 --> 00:07:53,040 შემუშავებული დაფარავს ყველა ამ 169 00:07:53,040 --> 00:07:54,840 გმირები და მრავალი სხვა. 170 00:07:54,840 --> 00:07:57,040 >> მაგრამ ეს სათაური კიდევ დრო. 171 00:07:57,040 --> 00:07:58,500 ჩემი სახელი არის Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 ეს არის CS50.