[Powered by Google Translate] NATE Hardison: Nel video il binario, mostriamo come rappresentano l'insieme dei numeri interi, da zero up, utilizzando solo le cifre zero e uno. In questo video, abbiamo intenzione di utilizzare la notazione binaria per rappresentare il testo, lettere e simili, come pure. Perché ci prendiamo la briga di fare questo? Ebbene, sotto il cofano, un computer veramente solo capisce zero e uno, le cifre binarie, dal momento che questi possono essere rappresentati facilmente con cose elettromagnetici. Per esempio, pensate di memoria del computer come un lungo serie di lampadine, per cui ogni singolo bulbo rappresenta uno zero se è spenta, e una se è acceso. Invece di utilizzare un gruppo di lampadine, alcuni moderni memoria fa questo utilizzando condensatori che tengono un basso carica a rappresentare uno zero e una carica elevata per rappresentare uno. Esistono anche altre tecniche. Comunque, al fine di conservare niente nella memoria, dobbiamo prima convertirlo in qualcosa che può essere effettivamente rappresentato nel hardware fisico. Quindi cerchiamo di pensare a come potrebbe rappresentare lettere con notazione binaria. In inglese, abbiamo 26 lettere nell'alfabeto alfabetico, A, B, C, D, e così via, fino a Z. Possiamo assegnare ciascuno dei questi un numero, diciamo da zero a 25, e quindi utilizzando notazione binaria, siamo in grado di rappresentare ogni numero come sequenza di zero e uno. Questo non è troppo male. Tuttavia, ciò non sarà sufficiente. Con questo sistema, non possiamo realmente distinguere lettere maiuscole e minuscole. Se vogliamo che il nostro computer per essere in grado di distinguere tra i due casi, allora abbiamo bisogno di ulteriori 26 numeri. E per quanto riguarda punti, virgole e altri segni di interpunzione? Sulla mia tastiera, ho 32 di questi, compresi tutti i caratteri speciali come il punto di inserimento e la e commerciale. Questo esclusi i caratteri numerici, da zero a nove, dal momento che ancora voglia di essere in grado di digitare numeri in formato decimale notazione sul computer, anche se il computer solo veramente capisce notazione binaria sotto il cofano. E, infine, abbiamo bisogno di rappresentare un carattere di spazio in modo che la nostra barra spaziatrice funziona. Quindi, per capire come rappresentare il testo nel computer prende un po 'di più di quanto si potrebbe pensare inizialmente. Inoltre, assumono abbiamo poi messo a punto la nostra codifica propria schema per rappresentare i caratteri come numeri. Tuttavia abbiamo deciso di codificare i caratteri saranno inevitabilmente arbitraria, come abbiamo visto prima, quando abbiamo parlato con il numeri da zero a 25 per rappresentare le lettere A a Z. Perché non utilizzare da 10 a 35 in modo da poter salvare da zero a nove per i caratteri numerici? Non c'è alcun motivo reale, abbiamo solo scelto ciò che sembrava meglio per noi. Torna nel 1960, questo è stato un vero problema. Diversi produttori di computer usavano diversi schemi di codifica, e la presente comunicazione ha tra macchine diverse un compito molto difficile. L'American National Standards Institute, ANSI, costituito un comitato per lo sviluppo di un progetto comune. E nel 1963, il Codice americano standard per l'informazione Interchange, più comunemente conosciuto come ASCII, è nato. ASCII è stato concepito come un sette bit di codifica, che significa che ogni carattere è rappresentato da una combinazione di sette zeri e uno. Con questi due valori possibili, zero o uno, per ciascun dei sette bit, vi sono due al settimo o 128 caratteri che possono essere rappresentati con l'ASCII schema di codifica. Così 128 caratteri suona come un sacco, vero? Bene, ricordate che ci sono 26 lettere minuscole in Inglese, altri 26 lettere maiuscole, 10 caratteri numerici, 32 segni di punteggiatura e caratteri speciali, e un carattere di spazio. Questo ci mette a 95, quindi abbiamo un altro 33 caratteri che può rappresentare. Allora, cosa rimane? Ebbene, nei giorni dello sviluppo di ASCII, telescrivente macchine da scrivere, che sono utilizzati per inviare messaggi attraverso una rete, erano diffusi. E queste macchine avevano caratteri aggiuntivi utilizzati per controllarli, per esempio, per dire loro quando spostare l' la testina di stampa verso il basso una linea, la linea di alimentazione o il tasto nuova linea, quando per passare al margine sinistro, il ritorno a capo, o semplicemente restituire il tasto, e quando andare indietro di uno spazio, il backspace carattere, e così via. Questi caratteri sono chiamati caratteri di controllo, e costituiscono il resto del set ASCII. Quindi, se guardiamo una tabella ASCII, si vede che la prima 32 numeri, da zero a 31, sono riservati per il controllo caratteri. Ma abbiamo appena detto che ci sono stati 33 caratteri di controllo. Qual è il problema? Beh, il numero zero e 127, il primo e l'ultimo della ASCII, hanno modelli di bit speciali, tutti gli zeri e tutti quelli, rispettivamente. I progettisti di ASCII ha deciso, quindi, di preservare questi numeri per ulteriori caratteri speciali, vale a dire il carattere null e il carattere DEL. Null e DEL sono stati destinati per l'editing di nastro di carta, che ha utilizzato essere un modo comune di archiviazione dei dati. Nastro di carta era letteralmente solo una lunga striscia di carta, e in intervalli regolari, sul nastro, che ci pugno fori per memorizzare i dati. A seconda della larghezza del nastro, ciascuna colonna sarebbe in grado di ospitare cinque, sei, sette, o otto bit. Per rappresentare un po 'a zero, che ci fanno nulla per il nastro, faresti basta lasciare uno spazio vuoto. Per un po 'uno, avresti un buco. Il carattere null sarebbe semplicemente lasciato una colonna vuota, indicando tutti gli zeri. E il carattere DEL perforavano una colonna piena di buchi attraverso il nastro. Di conseguenza, è possibile utilizzare il carattere DEL per cancellare informazioni. Immaginate di prendere un pieno-out scrutinio elettorale e poi punzonatura tutti i fori unpunched. È invalidare il voto perché è impossibile dire che cosa i voti originali erano. Mentre il carattere DEL viene ancora utilizzato è il moderno Tasto di cancellazione, il carattere null è venuto per essere utilizzato come carattere di terminazione per le stringhe C e alcuni formati di altri dati. Si potrebbe sapere come il carattere zero backslash, dato che è il modo in cui si rappresentano in forma scritta. Ma torniamo al nostro tavolo ASCII. Dopo i primi 32 caratteri di controllo sono il 95 caratteri stampabili. Ci sono un paio di decisioni di progettazione fresco vale la pena parlando qui. In primo luogo, i caratteri cifra decimale, da zero a nove, corrispondono ai numeri 48 e 57, che sembra irrilevante fino a quando si guarda ai numeri 48 e 57 scritto in notazione binaria. Se facciamo questo, allora si vede che il carattere cifra, zero, corrisponde a 0110000, uno mappe 0110001, due a 0110010, e così via. Vedi il modello? Ogni personaggio cifra è mappato il suo corrispondente equivalente in notazione binaria, il prefisso 011. Il prossimo, si nota che le lettere maiuscole inizio alle 65, con la A maiuscola, ma le lettere minuscole non iniziare fino al 97. Quindi ci sono 32 spazi in mezzo. Mi sembra strano. Sono solo 26 le lettere dell'alfabeto. Perché dividerli in questo modo? Anche in questo caso, se guardiamo le rappresentazioni binarie, possiamo vedere un modello. A maiuscola è rappresentata da 1000001, e minuscolo a è rappresentato da 1.100.001. Maiuscolo B è rappresentata da 1000010, e b è minuscola rappresentato da 1.100.010. Puoi dire quello che sta succedendo qui? Il bit che è la seconda da sinistra, in due per il quinti, per la posizione 32ths, è 0 per tutte le lettere maiuscole lettere, e 1 per tutte le lettere minuscole. Ciò significa che la conversione da maiuscolo a minuscolo, e viceversa, si tratta di un flip po 'semplice. In modo che ci porta alla fine della tabella ASCII. Riuscite a pensare a tutto ciò che abbiamo dimenticato? Beh, che dire del enye spagnolo, o il Alfabeti greco o cirillico? E per quanto riguarda i caratteri cinesi? Ci sono un sacco che è stato lasciato fuori ASCII. Tuttavia, un altro standard Unicode è stato chiamato sviluppato per coprire tutte queste personaggi e molti altri. Ma questo è un argomento per un'altra volta. Il mio nome è Nate Hardison. Questo è CS50.