[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.