1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] NATE Хардисон: У відэа на двайковыя, мы пакажам, як 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 годзе амерыканскі стандартны код для інфармацыі 63 00:02:53,780 --> 00:02:58,600 Interchange, больш вядомы як 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 7 нулёў і адзінак. 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 з загалоўнай літары, але малыя літары 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 наадварот, гэта пытанне простае фліп-біт. 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 Мяне клічуць Нейт Хардисон. 172 00:07:58,500 --> 00:08:00,650 Гэта CS50.