1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Нейт HARDISON: Във видеото на двоична, ние показваме как да 2 00:00:09,290 --> 00:00:12,540 представлява набор от цели числа, от нула до 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 Е, под капака, компютър само наистина 8 00:00:25,450 --> 00:00:29,070 разбира нули и единици, двоичните цифри, тъй като те 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 низ от електрически крушки, като всяка отделна крушка 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 Вместо да използвате един куп крушки, някои съвременни 15 00:00:44,730 --> 00:00:46,990 паметта това се използват кондензатори, които държат ниска 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, и така нататък, до Z. Ние можем да се дава на всеки един от 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 поредица от нули и единици. 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 специални символи като каретката и амперсанд. 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 разбира двоична бройна система под капака. 43 00:01:57,830 --> 00:02:00,620 >> И накрая, ние ще трябва да представлява характер пространство 44 00:02:00,620 --> 00:02:02,450 че нашата Space Bar работи. 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 Все пак реши да се кодират героите неизбежно ще бъде 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 до Z. Защо не използвате от 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 г., American Standard Code за информация 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 от седем нули и единици. 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, телетип 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 печатащата глава надолу по линията, нов ред или нов ключ линия, 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 за връщане характер, и така нататък. 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 набор, има специални модели битови, всички нули и всички 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 а именно нулевата характер и характера 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 редовни интервали на лентата, бихте удар 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 За малко, щеше да удари една дупка. 111 00:05:10,560 --> 00:05:12,980 Нулевата характер просто ще остава празна колона, 112 00:05:12,980 --> 00:05:14,480 показва всички нули. 113 00:05:14,480 --> 00:05:17,250 И характера DEL удар колона, пълна с дупки 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 Представете си, че като попълнено гласуване на избори и след това 118 00:05:25,060 --> 00:05:27,180 пробиване на всички 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 Бутон за изтриване, нулевата характер започна да се използва като 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 Можете да го знам като характер наклонена черта нула 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 >> Има няколко готини дизайнерски решения на стойност 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 Всяка цифра характер е свързан с отговарящите на 141 00:06:30,170 --> 00:06:35,170 еквивалент в двоична бройна система, префикс 011. 142 00:06:35,170 --> 00:06:38,820 Следващата, можете да забележите, че главни букви започне в 65, 143 00:06:38,820 --> 00:06:41,310 с главни букви A, но малки букви 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 Главните Б е представена от 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 букви, и един за всички малки букви. 159 00:07:30,120 --> 00:07:33,130 >> Това означава, че конвертиране от главни на малки букви и 160 00:07:33,130 --> 00:07:36,000 обратно, е въпрос на прости флип малко. 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 Е, какво да кажем за испанския enye, или 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 Моето име е Нейт Hardison. 172 00:07:58,500 --> 00:08:00,650 Това е CS50.