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