[Powered by Google Translate] Nate Hardison: O vídeo en binario, imos mostrar como representan o conxunto de números enteiros, de cero enriba, utilizando só os díxitos de cero e un. Neste vídeo, imos empregar a notación binaria para representar texto, letras e tal, tamén. Por que nos preocupar para facer iso? Ben, baixo o capo, un ordenador só é realmente enténdese ceros e uns, os díxitos binarios, xa que estes pode ser representado facilmente con cousas electromagnéticos. Por exemplo, pensar en memoria do seu ordenador como unha longa secuencia de lámpadas, no que cada individuo lámpada representa un cero se está desconectado, e un se está conectado. En vez de usar unha morea de lámpadas, algunhas moderna memoria fai iso usando capacitores que posúen un baixo cobra para representar un cero e unha alta carga para representar un. Hai outras técnicas tamén. En calquera caso, a fin de almacenar calquera cousa na memoria, precisamos primeiro convertelo en algo que poida ser realmente representados no hardware físico. Entón, imos pensar sobre como podemos representar letras con notación binaria. En inglés, temos 26 letras no alfabética, A, B, C, D, e así por diante, ata a Z. Pode atribuír a cada un dos estes un número, digamos cero a 25, e en seguida, usando notación binaria, podemos representar cada número como unha secuencia de ceros e uns. Isto non é moi ruín. Con todo, iso non vai ser suficiente. Con este sistema, non podemos realmente distinguir entre letras maiúsculas e minúsculas. Se queremos que o noso ordenador para ser capaz de diferenciar entre os dous casos, entón necesitamos un adicional de 26 números. E que dicir de períodos, comas e outros signos de puntuación? No meu teclado, eu teño 32 deles, incluíndo todos os caracteres especiais, como o acento circunflexo eo comercial. Isto non incluíndo os caracteres díxitos, de cero a nove, unha vez que aínda quero ser capaz de escribir números decimal notación no ordenador, aínda que o ordenador só realmente enténdese notación binaria baixo o capô. E, finalmente, imos ter que representar un carácter de espazo para que a nosa barra de espazo funciona. Entón, para descubrir como representar texto no ordenador Leva un pouco máis do que poderiamos pensar inicialmente. Ademais, supoña que despois vén coa nosa propia codificación esquema para representar caracteres como números. Con todo, decidir para codificar carácteres será inevitablemente arbitrario, como vimos anteriormente, cando falamos sobre o uso do números de cero a 25 para representar as letras A a Z. Por que non usar de 10 a 35, de xeito que podemos gardar cero a nove díxitos para os personaxes? Non hai ningunha razón real, que só escolleu o que parecía mellor para nós. Volver a comezos de 1960, este foi un problema real. Fabricantes de ordenadores diferentes estaban usando diferentes esquemas de codificación, e esta comunicación feita entre máquinas diferentes unha tarefa moi difícil. O American National Standards Institute, ANSI, formou un comité para desenvolver un réxime común. E en 1963, o Código estándar americano para a Información Interchange, máis comunmente coñecido como ASCII, naceu. ASCII foi concibido como unha codificación de sete bits, que significa que cada personaxe é representado por unha combinación de sete ceros e uns. Con estes dous valores posibles, cero ou un, para cada de sete bits, hai dous para a sétima ou 128 caracteres que poden ser representados con ASCII sistema de codificación. Entón 128 caracteres parece moito, non? Ben, lembre que hai 26 letras minúsculas en Inglés, máis 26 letras maiúsculas, 10 díxitos, personaxes 32 signos de puntuación e caracteres especiais, e un carácter de espazo. Isto pon en 95, polo tanto, temos outros 33 personaxes que pode representar. Entón o que queda? Ben, os días de desenvolvemento de ASCII, teletipo máquinas, que son máquinas de escribir que son usados ​​para enviar mensaxes a través dunha rede, foron xeneralizadas. E estas máquinas tiñan caracteres adicionais utilizados para controlalos, por exemplo, para dicirlles cando para mover o imprimir cabeza para baixo unha liña, a liña de alimentación ou a clave nova liña, cando se cambiar para a marxe esquerda, o retorno de coche, ou simplemente devolve-chave, e cando volten un espazo, o carácter de retroceso, e así por diante. Estes personaxes son chamados de caracteres de control, e constitúen o resto do conxunto de ASCII. Entón, se olharmos para unha táboa ASCII, vemos que o primeiro 32 números, de cero a 31, están reservados para control caracteres. Pero nós só dixo que había 33 caracteres de control. Cal é o problema? Ben, o número cero e 127, o primeiro eo último da Conxunto ASCII, ten patróns de bits especiais, todos os ceros e todo os, respectivamente. Os proxectos do ASCII decidiu, por tanto, a preservar eses números extra para caracteres especiais, ou sexa, o carácter nulo eo carácter DEL. Nula e DEL foron destinados para a edición de cinta de papel, que adoitaba ser unha forma común de almacenamento de datos. Cinta de papel foi, literalmente, só unha franxa grande de papel, e en intervalos regulares na cinta, que socar buratos para almacenamento de datos. Dependendo da anchura da banda, cada columna sería capaz de acomodar cinco, seis, sete, ou oito bits. Para representar un bit cero, non faría nada para a cinta, que basta deixar un espazo en branco. Para un pouco un, perforar un buraco. O carácter nulo sería só deixar unha columna en branco, indicando todos os ceros. E o personaxe DEL daría un zócolo dunha columna chea de buratos a través da súa cinta. Como resultado, pode utilizar o personaxe DEL para borrar información. Imaxina ter unha cédula electoral debidamente cuberto e logo perforación todos os buratos unpunched. Vostede invalidar a votación, porque é imposible dicir que os votos eran orixinais. Mentres o personaxe DEL se usa aínda é o moderno Tecla Delete, o carácter nulo pasou a ser utilizado como o carácter de finalización para cadeas C e algúns outros formatos de datos. Pode coñece-lo como o cero barra invertida, xa que é a forma na que representa-lo por escrito. Entón, de volta á nosa táboa ASCII. Tras os primeiros 32 carácteres de control vén a 95 caracteres imprimíveis. Hai algunhas decisións de deseño frías por valor de falando aquí. En primeiro lugar, os díxitos decimais, de cero a nove, corresponden aos números 48 a 57, o que parece banal, ata que ollar para os números 48 a 57 escrito en notación binaria. Se facemos iso, entón vemos que o personaxe díxito, cero, corresponde a 0110000, un mapas de 0110001, de dous a 0110010, e así por diante. Vexa o defecto? Cada personaxe díxito é mapeada polo seu correspondente equivalente en notación binaria, prefixo 011. A continuación, entender que as maiúsculas comezar aos 65 anos, con A maiúsculo, pero as letras minúsculas non comezar ata 97. Polo tanto, hai 32 espazos entre elas. Isto parece raro. Son só 26 letras no alfabeto. Por que separa-los así? De novo, se olharmos para as representacións binarias, podemos ver un estándar. Letras maiúsculas A é representado por 1000001, e as letras minúsculas son un representado por 1.100.001. Maiúscula B é representada por 1000010, e é minúscula representado por 1.100.010. Pode dicir o que está a suceder aquí? O pouco que é o segundo desde a esquerda, en dous para o quintos, a posición de 32ths, é 0 para todas as maiúsculas letras, e 1 para todas as letras minúsculas. Isto significa que a conversión de maiúsculas a minúsculas e viceversa, é unha cuestión de un flip-bit simple. Así que nos leva ao fin da táboa ASCII. Podes pensar en calquera cousa que teña esquecido? Ben, o que dicir do enye español, ou o Alfabetos cirílico ou grego? E como a carácteres chineses? Hai moito que se deixou de fóra da ASCII. Con todo, outro estándar chamado Unicode foi deseñado para cubrir todos estes personaxes e moito máis. Pero iso é un tema para outra hora. O meu nome é Nate Hardison. Este é CS50.