[Powered by Google Translate] Nate HARDISON: Sa video sa binary, ipinapakita namin kung paano i- kumatawan sa hanay ng mga buong numero, mula sa zero sa up, gamit lamang ang mga digit zero at isa. Sa video na ito, kami ay pagpunta sa gumamit ng binary notation sa kumakatawan sa teksto, mga titik at tulad, pati na rin. Bakit namin abala upang gawin ito? Well, sa ilalim ng hood, ang isang computer lamang talagang nauunawaan ng mga zero at na, ang binary digit, dahil ang mga maaaring katawanin ang madaling na may mga electromagnetic bagay. Halimbawa, sa tingin ng memory ng iyong computer tulad ng isang mahabang string ng liwanag na mga bombilya, kung saan ang bawat indibidwal na bombilya ay kumakatawan sa isang zero kung ito ay naka-off, at isang kung ito ay naka-on. Sa halip ng paggamit ng grupo ng liwanag na mga bombilya, ang ilang mga modernong memory ito gamit ang mga capacitors na hawak ng isang mababang singilin sa kumakatawan sa isang zero at ang isang mataas na bayad kumakatawan sa isang. May iba pang mga diskarte pati na rin. Pa Rin, upang mag-imbak ng anumang bagay sa memorya, kailangan namin unang-convert ang mga ito sa isang bagay na maaaring maging aktwal kinakatawan sa ang pisikal na hardware. Kaya sabihin isipin ang tungkol sa kung paano namin kumakatawan sa mga titik na may binary notation. Sa Ingles, kami ay nakakuha ng 26 mga titik sa alpabetiko, A, B, C, D, at iba pa, hanggang sa pamamagitan Z. Maaari naming italaga sa bawat isa sa mga numero, sabihin zero sa pamamagitan ng 25, at pagkatapos gamit ang binary notation, maaari naming kinakatawan ang bawat numero bilang isang pagkakasunud-sunod ng mga zero at mga. Iyon ay hindi masyadong masamang. Gayunpaman, na hindi sapat na. Sa pamamagitan ng system na ito, hindi tunay na namin maaaring makilala sa pagitan ng itaas at maliliit na titik. Kung gusto namin ang aming computer na pagkakaiba sa pagitan ng ang dalawang mga kaso, pagkatapos ay kailangan namin ng karagdagang 26 mga numero. At kung ano ang tungkol sa mga tuldok, kuwit, at iba pang mga punctuation marks? Sa aking keyboard, ako Mayroon 32 ng mga, kabilang ang lahat ng mga mga espesyal na character tulad ng kareta at ang ampersand. Na hindi kabilang ang mga digit na mga character, zero pamamagitan siyam, dahil gusto pa rin namin i-type ang mga numero sa decimal notation sa computer, kahit na ang computer lamang talagang nauunawaan binary notation sa ilalim ng hood. At sa wakas, makikita namin kailangang kumakatawan sa isang puwang ng character kaya na aming Space Bar gumagana. Kaya ang pag-uunawa kung paano upang kumatawan ang teksto sa computer tumatagal ng kaunti pa kaysa sa maaari naming naisip sa una. Bukod pa rito, ipagpalagay namin at pagkatapos ay hanggang sa aming sariling pag-encode scheme upang kumatawan ng mga character ng mga numero. Gayunpaman magpasya namin upang i-encode ang mga character ay hindi maaaring hindi maging arbitrary, tulad ng nakita natin mas maaga kapag usapan natin ang tungkol sa paggamit ng numero zero sa pamamagitan ng 25 upang kumatawan ang mga titik A sa pamamagitan Z. Bakit hindi gamitin ang 10 sa pamamagitan ng 35 upang maaari naming i-save zero sa pamamagitan ng siyam na para sa mga digit na mga character? Walang tunay na dahilan, pinili lang namin ang anumang tila pinakamahusay na para sa amin. Bumalik sa unang bahagi ng 1960, ito ay isang tunay na problema. Ibang computer tagagawa ay gumagamit ng iba't ibang mga scheme ng pag-encode, at ito ay ginawa na komunikasyon sa pagitan ng iba't ibang machine isang mahirap na gawain. Ang American Pambansang Pamantayan Institute, ANSI, nabuo isang komite upang bumuo ng isang karaniwang scheme. At noong 1963, sa American Standard Code para sa Impormasyon Interchange, mas karaniwang kilala bilang ASCII, ay ipinanganak. ASCII ay dinisenyo bilang isang pitong-bit pag-encode, na ay nangangahulugan na ang bawat karakter ay kinakatawan sa pamamagitan ng isang kumbinasyon ng pitong zero at mga. Na may mga dalawang posibleng halaga, zero o isa, para sa bawat ng pitong bit, mayroong dalawang sa ikapitong o 128 mga character na maaaring kinakatawan gamit ang ASCII page-encode scheme. Kaya 128 character tunog tulad ng maraming, i-right? Well, tandaan na may 26 maliliit na mga titik sa Ingles, isa pang 26 mga malalaking titik, 10 digit character, 32 bantas at mga espesyal na character, at isang espasyo ng character. Na naglalagay sa amin sa 95, kaya namin ng isa pang 33 character namin maaaring kumatawan. Kaya kung ano ang sa kaliwa? Well, sa araw ng pagbuo ng ASCII, teletipo machine, na typewriters na ginagamit upang magpadala ng mga mensahe sa isang network, ay laganap. At mga machine ay may karagdagang mga character na ginamit sa kontrolin ang mga ito, halimbawa, upang sabihin sa kanila kapag upang ilipat ang i-print ang ulo pababa sa isang linya, ang linya ng feed o bagong linya key, kapag lumipat sa kaliwang margin, ang carriage return, o lamang bumalik key, at kapag bumalik ang isang espasyo, ang backspace karakter, at iba pa. Ang mga character na ito ay tinatawag na kontrol character, at sila bumubuo sa kabuuan ng ASCII set. Kaya't kung tiningnan namin sa isang ASCII table, nakita namin na ang unang 32 mga numero, zero sa pamamagitan ng 31, ay nakareserba para sa control character. Ngunit sinabi lang namin na may 33 control character. Ano deal? Well, ang bilang zero at 127, ang una at huling ng ASCII set, magkaroon ng espesyal na bit pattern, ang lahat ng mga zero at lahat ng na, ayon sa pagkakabanggit. Ang mga designer ng ASCII nagpasya, samakatuwid, upang mapanatili ang mga numerong ito para sa mga dagdag na mga espesyal na character, lalo ang null karakter at ang del karakter. Null at Del ay nilayon para sa pag-edit ng tape ng papel, na ginagamit sa isang karaniwang paraan ng pag-iimbak ng data. Papel tape ay literal isang mahabang strip ng papel, at sa regular na mga agwat sa tape, na nais mong Punch butas upang mag-imbak ng data. Depende sa lapad ng tape, ang bawat haligi ay upang tumanggap ng limang, anim, pitong, o walong bits. Upang kumakatawan sa isang zero bit, na nais mong gawin wala sa tape, ikaw ay lamang mag-iwan ng blangko. Para sa isang bit, na nais mong Punch hole. Ang null karakter ay lamang iwan ng blangko haligi, nagpapahiwatig ang lahat ng mga zero. At ang del karakter Punch isang haligi na butas-butas sa pamamagitan ng iyong tape. Bilang isang resulta, maaari mong gamitin ang del karakter upang tanggalin impormasyon. Isipin ang pagkuha ng filled-out balota ng halalan at pagkatapos pagsuntok lahat ang unpunched butas. Mong magpawalang-bisa sa balota dahil ito ay imposible para sa sabihin sa kung ano ang orihinal na boto ay. Habang ang del karakter pa rin ang ginagamit sa modernong Tanggalin ang key, ang null character na dumating na ginamit bilang pagwawakas character para sa mga string sa C at ilang iba pang mga format ng data. Maaaring kilala mo ang mga ito sa bilang ng character ng backslash zero, dahil na kung paano kumakatawan namin ito sa sulat. Kaya-back sa aming ASCII talahanayan. Matapos ang unang 32 mga character sa control dumating ang 95 napi-print na mga character. May ilang mga cool na disenyo ng mga desisyon sulit pinag-uusapan dito. Una, ang mga decimal digit na mga character, zero sa pamamagitan ng siyam, tumutugma sa numero 48 sa pamamagitan ng 57, na tila unremarkable hanggang tinitingnan namin ang mga numero 48 sa pamamagitan ng 57 nakasulat sa binary notation. Kung gagawin namin na, pagkatapos naming makita na ang digit ng character, zero, tumutugon sa 0110000, isang mapa sa 0110001, dalawa hanggang 0110010, at iba pa. Tingnan ang pattern? Bawat digit na character ay nama-map sa kaukulang katumbas sa binary notation, may prefix na 011. Susunod, napansin mo na ang mga malalaking titik na nagsisimula sa 65, may uppercase A, ngunit ang mga maliliit na titik hindi simulan hanggang 97. Kaya may 32 mga puwang sa pagitan. Na tila kakaiba. Sila ay 26 titik lamang sa alpabeto. Bakit hatiin ito tulad nito? Muli, kung tiningnan namin sa representasyon ng binary, maaari naming tingnan ang isang pattern. Uppercase ay kinakatawan ng 1000001, at lowercase ay kinakatawan ng 1,100,001. Uppercase B ay kinakatawan ng 1000010, at lowercase b ay kinakatawan ng 1,100,010. Maaari mong sabihin sa kung anong nangyayari sa dito? Ang bit na ang ikalawang mula sa kaliwa, sa dalawang sa fifths, 32ths posisyon, ay 0 para sa lahat ng uppercase mga titik, at 1 para sa lahat ng mga maliliit na titik. Iyon ay nangangahulugang ang nagko-convert mula sa uppercase lowercase, at kabaligtaran, ay isang bagay ng isang simpleng bit tingnan. Kaya na pinagsasama sa amin sa dulo ng ASCII table. Maaari mong isipin ng anumang aming nakalimutan mo ang? Well, kung ano ang tungkol sa Spanish enye, o ang Griyego o Cyrillic titik? At kung paano tungkol sa mga character na Tsino? May ng maraming na pakaliwa ng ASCII. Gayunpaman, ang isa pang karaniwang tinatawag na Unicode ay binuo upang masakop ang lahat ng ito character at marami pang iba. Ngunit iyon lamang ang isang paksa para sa isa pang oras. Ang pangalan ko ay Nate Hardison. Ito ay CS50.