[Powered by Google Translate] NATE Hardison: En el video en binario, se muestra cómo representar el conjunto de números enteros, de cero hacia arriba, usando sólo los dígitos cero y uno. En este video, vamos a utilizar la notación binaria para representar texto, cartas y demás, así como. ¿Por qué nos tomamos la molestia de hacer esto? Pues bien, bajo el capó, un equipo único realmente entiende ceros y unos, los dígitos binarios, ya que estos se puede representar fácilmente con cosas electromagnéticas. Por ejemplo, piense en la memoria del ordenador como un largo cadena de bombillas, por el que cada individuo bombilla representa un cero si está apagado, y el otro un si está activada. En lugar de utilizar un grupo de bombillas, algunas modernas memoria hace esto usando condensadores que tienen un bajo cargar para representar un cero y una carga de alto para representar un uno. Existen otras técnicas también. De todos modos, con el fin de almacenar nada en la memoria, es necesario primero convertirlo en algo que puede ser realmente representado en el hardware físico. Así que vamos a pensar en cómo podríamos representar letras con binario notación. En Inglés, tenemos 26 letras en el alfabético, A, B, C, D, y así sucesivamente, a través de Z. Se puede asignar a cada uno de los éstos un número, por ejemplo cero a través de 25, y a continuación, utilizando notación binaria, se puede representar como un número cada secuencia de ceros y unos. Eso no es tan malo. Sin embargo, eso no va a ser suficiente. Con este sistema, en realidad no puede distinguir entre los las letras mayúsculas y minúsculas. Si queremos que nuestro equipo sea capaz de diferenciar entre los dos casos, entonces necesitamos un adicional de 26 números. Y ¿qué pasa con puntos, comas y otros signos de puntuación? En mi teclado, tengo 32 de ellos, incluyendo todos los caracteres especiales como el símbolo de intercalación y el símbolo de unión. Eso es sin incluir los caracteres de dígitos, del cero al nueve, ya que todavía quiero ser capaz de escribir números en decimal anotación en el ordenador, incluso si el equipo realmente sólo entiende la notación binaria bajo el capó. Y, por último, vamos a necesitar para representar un carácter de espacio para que nuestra barra espaciadora funciona. Así que encontrar la manera de representar el texto en el ordenador toma un poco más de lo que podría haber pensado inicialmente. Además, asumimos que luego llegar a nuestra propia codificación esquema para representar caracteres como números. Sin embargo decidimos para codificar los caracteres será inevitablemente arbitrario, como vimos antes, cuando hablamos acerca del uso de la números cero a 25 para representar las letras A a la Z. ¿Por qué no usamos el 10 a 35 por lo que podemos ahorrar cero al nueve dígitos para los personajes? No hay ninguna razón real, que acaba de elegir lo que parecía lo mejor para nosotros. Ya en la década de 1960, esto era un problema real. Los diferentes fabricantes de computadoras utilizaban diferentes esquemas de codificación, y esta comunicación se entre diferentes máquinas de una tarea muy difícil. El American National Standards Institute, ANSI, formó un comité para desarrollar un esquema común. Y en 1963, el Código Estándar Americano para la Información Intercambio, más comúnmente conocido como ASCII, nació. ASCII fue diseñado como una codificación de siete bits, la cual significa que cada carácter está representado por una combinación de siete ceros y unos. Con esos dos valores posibles, cero o uno, para cada uno de los siete bits, hay dos a la séptima o 128 caracteres que se pueden representar con el ASCII esquema de codificación. Así que 128 caracteres suena a mucho, ¿verdad? Bueno, recuerda que hay 26 letras minúsculas en Inglés, otros 26 letras mayúsculas, 10 caracteres dígitos, 32 puntuacion y caracteres especiales, y un carácter de espacio. Eso nos pone a 95, así que tenemos otros 33 personajes que puede representar. Entonces, ¿qué nos queda? Pues bien, en los días del desarrollo de ASCII, teletipo máquinas, que son máquinas de escribir que se utilizan para enviar mensajes a través de una red, se generalizaron. Y estas máquinas tenían caracteres adicionales que se utilizan para controlan, por ejemplo, para saber cuándo para mover el el cabezal de impresión hacia abajo una línea, la línea de alimentación o la clave nueva línea, cuando para pasar a la margen izquierda, el retorno de carro, o simplemente volver llave, y cuando para retroceder un espacio, carácter de retroceso, y así sucesivamente. Estos caracteres se denominan caracteres de control, y constituyen el resto del conjunto ASCII. Así que si nos fijamos en una tabla ASCII, vemos que el primer 32 números, del cero al 31, se reservan para el control personajes. Pero acaba de decir que había 33 caracteres de control. ¿Cuál es el trato? Así, el número cero y 127, el primero y el último de la Conjunto ASCII, tienen patrones de bits especiales, todos ceros y todos Lo, respectivamente. Los diseñadores de ASCII decidió, por lo tanto, a preservar a estos números extras caracteres especiales, a saber, el carácter nulo y el carácter DEL. Null y DEL estaban destinados para la edición de cinta de papel, que solía a ser una forma común de almacenamiento de datos. La cinta de papel era literalmente una larga tira de papel, y en intervalos regulares en la cinta, había un puñetazo agujeros para almacenar datos. Dependiendo de la anchura de la cinta, cada columna sería con capacidad para cinco, seis, siete u ocho bits. Para representar un bit cero, harías nada en la cinta, que te simplemente dejar un espacio en blanco. Por un poco uno, que te perfore un agujero. El carácter nulo acaba de salir de una columna en blanco, lo que indica todos los ceros. Y el personaje DEL sería perforar una columna llena de agujeros a través de la cinta. Como resultado de ello, puede utilizar el carácter DEL para borrar información. Imagínese celebrar votación en las elecciones cumplimentada y luego punzonado todos los agujeros sin perforar. Usted invalidar la votación, porque es imposible decir lo que los votos originales eran. Mientras que el carácter DEL todavía se utiliza es la moderna Eliminar clave, el carácter nulo llegó a ser usado como el Carácter de terminación de cadenas de C y algunos otros formatos de datos. Es posible que lo conocen como el carácter barra invertida cero, ya que así es como lo representamos por escrito. Así que volvemos a nuestra tabla ASCII. Después de los primeros 32 caracteres de control vienen los 95 caracteres imprimibles. Hay un par de decisiones de diseño fresco por valor de hablando aquí. En primer lugar, los personajes dígito decimal, el cero al nueve, corresponden a los números 48 a 57, que parece nada especial hasta que nos fijamos en los números 48 a 57 escrito en notación binaria. Si hacemos eso, entonces vemos que el carácter de dígito, cero, corresponde a 0110000, uno mapas a 0110001, de dos a 0110010, y así sucesivamente. Ver el patrón? Cada carácter de dígito se asigna a su correspondiente equivalente en notación binaria, con el prefijo 011. El siguiente, te das cuenta de que las letras mayúsculas comenzar a los 65, con mayúscula, pero las letras minúsculas no empiece hasta 97. Así que hay 32 espacios en el medio. Eso me parece extraño. Son sólo 26 letras en el alfabeto. ¿Por qué dividir así? De nuevo, si nos fijamos en las representaciones binarias, podemos ver un patrón. Mayúsculas A está representado por 1000001, y en minúsculas es una representado por 1100001. Mayúscula B está representado por 1000010, y b es minúscula representado por 1100010. ¿Se puede decir lo que está pasando aquí? El bit es la segunda de la izquierda, en los dos a la quintas partes, de la posición de 32ths, es 0 para todas las mayúsculas cartas, y 1 para todas las letras minúsculas. Eso significa que la conversión de mayúsculas a minúsculas, y viceversa, es una cuestión de un flip bit simple. Esto nos lleva al final de la tabla ASCII. ¿Puedes pensar en cualquier cosa que hayamos olvidado? Bueno, ¿qué pasa con la enye españolas, o el Alfabetos griego o cirílico? ¿Y qué tal chino personajes? Hay mucho que se ha quedado fuera de ASCII. Sin embargo, otro estándar Unicode ha sido llamado desarrollado para cubrir todos estos personajes y muchos más. Pero eso es un tema para otro momento. Mi nombre es Nate Hardison. Esto es CS50.