[Powered by Google Translate] Nate Hardison: În video de pe binar, vom arăta cum să reprezintă un set de numere întregi, de la zero, pe sus, folosind doar cifre zero și unu. În acest videoclip, vom folosi notația binar pentru a reprezintă text, scrisori și cum, precum. De ce ne-ar deranja să faci asta? Ei bine, sub capota, un calculator cu adevărat numai înțelege zero și unu, cifrele binare, deoarece acestea pot fi reprezentate cu ușurință lucruri electromagnetice. De exemplu, cred că de memoria calculatorului ca un lung șir de becuri, prin care fiecare individ bec reprezintă un zero dacă este oprit, iar o în cazul în care este pornit. În loc de a folosi o grămadă de becuri, unele moderne Memoria face acest lucru folosind condensatori care dețin un nivel scăzut debita pentru a reprezenta un zero și o taxă mare să reprezinte una. Există alte tehnici, precum și. Oricum, în scopul de a stoca în memorie ceva, avem nevoie să prima ao transforma în ceva care poate fi de fapt reprezentate în hardware fizic. Așa că haideți să ne gândim cum am putea reprezenta scrisori cu binar notație. În limba engleză, avem 26 de litere din alfabetică, A, B, C, D, și așa mai departe, până la Z. Putem atribui fiecare dintre aceste numere o, spune la zero până la 25, și apoi folosind notație binară, ne putem reprezenta fiecare număr ca secvență de zero-uri și cele. Asta nu e prea rău. Cu toate acestea, faptul că nu va fi de ajuns. Cu acest sistem, nu putem distinge între realitate litere mari și mici. Dacă vrem calculatorul nostru de a fi capabil să diferențieze între cele două cazuri, atunci avem nevoie de o suplimentare de 26 de numere. Și ce despre perioadele, virgule, și alte semne de punctuație? Pe tastatura mea, am 32 al celor, inclusiv toate caractere speciale, cum ar fi cursorului și ampersand. Asta e nu, inclusiv personajele cifre, zero la noua, din moment ce încă mai doresc să fie în măsură să tastați numere în zecimal notație pe calculator, chiar dacă computerul numai într-adevăr înțelege notația binară sub capota. Și, în sfârșit, vom avea nevoie pentru a reprezenta un caracter spațiu atât de că barul nostru Space funcționează. Deci, imaginind cum să reprezinte textul de pe calculator ia un pic mai mult decat ne-am fi gândit inițial. În plus, presupunem că apoi vin cu propriul nostru de codare sistem pentru a reprezenta caractere ca numere. Cu toate acestea ne vom hotărî să codifica caractere vor fi în mod inevitabil arbitrar, după cum am văzut mai devreme, când am vorbit despre cum se utilizează Numerele zero, prin 25 pentru a reprezenta literele A prin Z. De ce nu folosiți la 10 la 35, astfel încât să putem salva la zero la noua pentru caracterele cifre? Nu e nici un motiv real, ne-am ales ce părea cel mai bine pentru noi. Înapoi la începutul anilor 1960, aceasta a fost o problemă reală. Diferiți producători de calculatoare au fost folosiți diferite scheme de codare, și această comunicare a făcut între diverse masini o sarcină foarte dificilă. American National Standards Institute, ANSI, a format un comitet pentru a dezvolta un sistem comun. Și în 1963, Codul american standard pentru informațiile Interchange, mai frecvent cunoscut sub numele de ASCII, sa născut. ASCII a fost conceput ca o codare de șapte biți, care înseamnă că fiecare caracter este reprezentat printr-o combinație de șapte zerouri și cele. Cu aceste două valori posibile, zero sau unu, pentru fiecare din cele șapte biți, există două pentru a saptea sau 128 caractere care pot fi reprezentate cu ASCII codare sistem. Deci 128 de caractere sună ca o mulțime, nu? Ei bine, amintiți-vă că există 26 de litere mici, în Engleză, încă 26 de litere majuscule, cifre, caractere 10 32 semne de punctuație și caractere speciale, și un caracter spațiu. Asta ne pune la 95, deci avem încă 33 de caractere pe care le poate reprezenta. Deci, ce-a mai rămas? Ei bine, în zilele de dezvoltare a ASCII, teletype Mașini, care sunt mașini de scris, care sunt utilizate pentru a trimite mesaje printr-o rețea, s-au răspândit. Și aceste mașini au avut caractere suplimentare utilizate pentru le controla, de exemplu, pentru a le spune când să se mute capul de imprimare în jos o linie, alimentare linie sau tasta linie nouă, atunci când pentru a trece la marginea din stânga, retur de car, sau pur si simplu returnati tasta, și când pentru a merge înapoi cu un spațiu, Caracterul backspace, și așa mai departe. Aceste caractere sunt numite caractere de control, și ei constituie restul setului ASCII. Deci, dacă ne uităm la o masă ASCII, vedem că primul 32 de numere, la zero, prin 31, sunt rezervate pentru controlul caractere. Dar am spus doar că au existat 33 de caractere de control. Care-i treaba? Ei bine, numărul zero și 127, primul și ultimul Set ASCII, au modele speciale de biți, toate zerouri și toate cele, respectiv. Designerii de ASCII a decis, prin urmare, să păstra aceste numere pentru caractere speciale suplimentare, și anume caracterul nul și caracterul DEL. Nul și DEL au fost destinate pentru editare bandă de hârtie, care a folosit pentru a fi un mod comun de stocare a datelor. Bandă de hârtie a fost literalmente doar o fâșie lungă de hârtie, cât și la intervale regulate pe bandă, te-ai lovi găuri pentru a stoca date. În funcție de lățimea benzii, fiecare coloană va fi posibilitatea de a găzdui cinci, șase, șapte, sau opt biți. Pentru a reprezenta un pic la zero, ai face nimic pentru banda, ai lasa doar un spațiu gol. Pentru un pic unul, ai o gaură. Caracterul nul ar lăsa doar o coloană necompletată, indicând toate zerouri. Și caracterul DEL-ar lovi cu pumnul o coloană plină de găuri prin caseta ta. Ca urmare, ai putea folosi caracterul DEL pentru a șterge informații. Imaginați-vă un tur de scrutin preumplută-out electorală și apoi stantare toate găurile unpunched. Ai anula buletinul de vot, deoarece este imposibil să se spune ce voturile au fost originale. În timp ce caracterul DEL este încă folosit este modernă Ștergeți-cheie, caracterul nul a ajuns să fie folosit ca Caracterul reziliere pentru siruri de caractere C și unele alte formate de date. Tu l-ar putea, stiu ca personajul la zero backslash, din moment ce e cum le reprezenta în scris. Deci, înapoi la masa noastră ASCII. După primele 32 de caractere de control veni 95 caractere imprimabile. Momentan nu sunt decizii de rece de design cuplu în valoare de vorbesc despre aici. În primul rând, personajele zecimal cifre, zero la noua, corespund cu numerele 48, prin 57, care pare cufundată până ne uităm la numerele 48, prin 57 scrisă în notație binară. Dacă vom face acest lucru, atunci vom vedea că cifra de caractere, la zero, pentru a corespunde 0110000, unul hărți pentru a 0110001, doi la 0110010, și așa mai departe. Vezi modelul? Fiecare personaj cifre este mapat la corespunzătoare sale echivalentul în notație binară, prefixate cu 011. Următorul, observați că litere mari încep de la 65 de ani, cu majuscule A, dar cu litere mici nu începe până la 97. Deci, există 32 de locuri în între. Asta pare ciudat. Acestea sunt doar 26 de litere din alfabet. De ce să-i despărțim ca asta? Din nou, dacă ne uităm la reprezentanțele binare, putem vedea un model. Majusculă A este reprezentată de 1000001, și litere mici a este reprezentată de 1100001. Majuscule B este reprezentată de 1000010, și b minuscule este reprezentată de 1100010. Pot să vă spun ce se întâmplă aici? Biți care este a doua din stânga, în două pentru a cincimi, pentru poziția 32ths, este 0 pentru toate majuscule litere, și 1 pentru toate litere mici. Asta înseamnă conversia de la litere mari la litere mici, și invers, este o chestiune de flip-bit simplu. Așa că ne aduce la sfârșitul tabelului ASCII. Vă puteți gândi la ceva ce am uitat? Ei bine, ce zici de enye spaniolă, sau Greacă sau alfabete chirilice? Și cum despre Chineză de caractere? Există o mulțime care a fost lăsat în afara ASCII. Cu toate acestea, un alt standard numit Unicode a fost dezvoltat pentru a acoperi toate aceste personaje și multe altele. Dar asta e un subiect pentru altă dată. Numele meu este Nate Hardison. Acest lucru este CS50.