[Powered by Google Translate] Nate Hardison: En el vídeo en binari, es mostra com representar el conjunt de nombres enters, de zero cap amunt, usant només els dígits zero i un. En aquest vídeo, utilitzarem la notació binària per representar text, cartes i altres, així com. Per què ens prenem la molèstia de fer això? Doncs bé, sota el capó, un equip únic realment entén zeros i uns, els dígits binaris, ja que aquests es pot representar fàcilment amb coses electromagnètiques. Per exemple, pensi en la memòria de l'ordinador com un llarg cadena de bombetes, pel qual cada individu bombeta representa un zero si està apagat, i l'altre un si està activada. En lloc d'utilitzar un grup de bombetes, algunes modernes memòria fa això usant condensadors que tenen un baix carregar per representar un zero i una càrrega d'alt per representar un u. Existeixen altres tècniques també. De tota manera, amb la finalitat d'emmagatzemar res en la memòria, cal 1 convertir-lo en una cosa que pot ser realment representat en el maquinari físic. Així que anem a pensar en com podríem representar lletres amb binari notació. En Anglès, tenim 26 lletres al alfabètic, A, B, C, D, i així successivament, a través de Z. Es pot assignar a cada un dels aquests un nombre, per exemple zero a través de 25, i tot seguit, utilitzant notació binària, es pot representar com un nombre cada seqüència de zeros i uns. Això no és tan dolent. No obstant això, això no serà suficient. Amb aquest sistema, en realitat no pot distingir entre els les lletres majúscules i minúscules. Si volem que el nostre equip sigui capaç de diferenciar entre els dos casos, llavors necessitem un addicional de 26 números. I què passa amb punts, comes i altres signes de puntuació? En el meu teclat, tinc 32 d'ells, incloent tots els caràcters especials com el símbol d'intercalació i el símbol d'unió. Això és sense incloure els caràcters de dígits, del zero al nou, ja que encara vull ser capaç d'escriure nombres en decimal anotació a l'ordinador, fins i tot si l'equip realment només entén la notació binària sota el capó. I, finalment, anem a necessitar per representar un caràcter d'espai per que la nostra barra d'espai funciona. Així que trobar la manera de representar el text a l'ordinador pren una mica més del que podria haver pensat inicialment. A més, assumim que després arribar a la nostra pròpia codificació esquema per representar caràcters com nombres. No obstant això vam decidir per codificar els caràcters serà inevitablement arbitrari, com hem vist abans, quan parlem sobre l'ús de la números zero a 25 per representar les lletres A a la Z. Per què no fem servir el 10 a 35 per que podem estalviar zero al nou dígits per als personatges? No hi ha cap raó real, que acaba de triar el que semblava el millor per a nosaltres. Ja en la dècada de 1960, això era un problema real. Els diferents fabricants d'ordinadors utilitzaven diferents esquemes de codificació, i aquesta comunicació es entre diferents màquines d'una tasca molt difícil. El American National Standards Institute, ANSI, va formar un comitè per desenvolupar un esquema comú. I el 1963, el Codi Estàndard Americà per a la Informació Intercanvi, més comunament conegut com ASCII, va néixer. ASCII va ser dissenyat com una codificació de set bits, la qual significa que cada caràcter està representat per una combinació de set zeros i uns. Amb aquests dos valors possibles, zero o un, per a cada un dels set bits, hi ha dos a la setena o 128 caràcters que es poden representar amb l'ASCII esquema de codificació. Així que 128 caràcters sona a molt, oi? Bé, recorda que hi ha 26 lletres minúscules en Anglès, altres 26 lletres majúscules, 10 caràcters dígits, 32 puntuació i caràcters especials, i un caràcter d'espai. Això ens posa a 95, així que tenim altres 33 personatges que pot representar. Llavors, què ens queda? Doncs bé, en els dies del desenvolupament d'ASCII, teletip màquines, que són màquines d'escriure que s'utilitzen per enviar missatges a través d'una xarxa, es van generalitzar. I aquestes màquines tenien caràcters addicionals que s'utilitzen per controlen, per exemple, per saber quan per moure el el capçal d'impressió cap avall una línia, la línia d'alimentació o la clau nova línia, quan per passar a la marge esquerra, el retorn de carro, o simplement tornar clau, i quan per retrocedir un espai, caràcter de retrocés, i així successivament. Aquests caràcters s'anomenen caràcters de control, i constitueixen la resta del conjunt ASCII. Així que si ens fixem en una taula ASCII, veiem que el primer 32 números, del zero al 31, es reserven per al control personatges. Però acaba de dir que havia 33 caràcters de control. Quin és el tracte? Així, el nombre zero i 127, el primer i l'últim de la Conjunt ASCII, tenen patrons de bits especials, tots zeros i tots El, respectivament. Els dissenyadors d'ASCII va decidir, per tant, a preservar aquests números extres caràcters especials, a saber, el caràcter nul i el caràcter DEL. Null i L'estaven destinats per a l'edició de cinta de paper, que solia a ser una forma comuna d'emmagatzematge de dades. La cinta de paper era literalment una llarga tira de paper, i en intervals regulars a la cinta, hi havia un cop de puny forats per emmagatzemar dades. Depenent de l'amplada de la cinta, cada columna seria amb capacitat per a cinc, sis, set o vuit bits. Per representar un bit zero, faries res a la cinta, que et simplement deixar un espai en blanc. Per una mica un, que et perfori un forat. El caràcter nul acaba de sortir d'una columna en blanc, el que indica tots els zeros. I el personatge DEL seria perforar una columna plena de forats a través de la cinta. Com a resultat d'això, pot utilitzar el caràcter DEL per esborrar informació. Imagineu celebrar votació en les eleccions emplenada i després punxonat tots els forats sense perforar. Vostè invalidar la votació, perquè és impossible dir el que els vots originals eren. Mentre que el caràcter DEL encara s'utilitza és la moderna Eliminar clau, el caràcter nul va arribar a ser usat com el Caràcter de terminació de cadenes de C i alguns altres formats de dades. És possible que el coneixen com el caràcter barra invertida zero, ja que així és com ho representem per escrit. Així que tornem a la nostra taula ASCII. Després dels primers 32 caràcters de control vénen dels 95 caràcters imprimibles. Hi ha un parell de decisions de disseny fresc per valor de parlant aquí. En primer lloc, els personatges dígit decimal, el zero al nou, corresponen als números 48 a 57, que sembla res especial fins que ens fixem en els números 48-57 escrit en notació binària. Si fem això, llavors veiem que el caràcter de dígit, zero, correspon a 0110000, un mapes a 0110001, de dos a 0110010, i així successivament. Veure el patró? Cada caràcter de dígit s'assigna al seu corresponent equivalent en notació binària, amb el prefix 011. El següent, t'adones que les lletres majúscules començar als 65, amb majúscula, però les lletres minúscules no comenci fins a 97. Així que hi ha 32 espais en el medi. Això em sembla estrany. Són només 26 lletres en l'alfabet. Per què dividir així? De nou, si ens fixem en les representacions binàries, podem veure un patró. Majúscules A està representat per 1000001, i en minúscules és una representat per 1100001. Majúscula B està representat per 1000010, i b és minúscula representat per 1100010. Es pot dir el que està passant aquí? El bit és la segona de l'esquerra, en tots dos cinquenes parts, de la posició de 32ths, és 0 per a totes les majúscules cartes, i 1 per a totes les lletres minúscules. Això significa que la conversió de majúscules a minúscules, i viceversa, és una qüestió d'un flip bit simple. Això ens porta al final de la taula ASCII. Pots pensar en qualsevol cosa que haguem oblidat? Bé, què passa amb la enye espanyoles, o el Alfabets grec o ciríl · lic? I què tal xinès personatges? Hi ha molt que s'ha quedat fora d'ASCII. No obstant això, un altre estàndard Unicode ha estat anomenat desenvolupat per cobrir tots aquests personatges i molts més. Però això és un tema per a un altre moment. El meu nom és Nate Hardison. Això és CS50.