En este laboratorio, explorarás cómo se representan los diferentes tipos de información en un equipo.
En esta página, aprenderás qué son los bits, las unidades básicas de datos en informática.
Un bit es una sola unidad de datos que solo puede tener uno de dos valores. Normalmente representamos los dos valores como 0 (apagado) y 1 (encendido).
Como probablemente sepas, la información viaja a través de cables dentro de la computadora, y cada cable es encendido o apagado, sin estados intermedios permitidos. Esta pequeña pieza de información se llama bit, la unidad de información más pequeña posible en el dominio digital.
¿Qué significa el valor de un bit? Por convención, los dos estados de un bit se interpretan como 0 y 1, pero eso no significa que tengan que representar números. Un solo bit puede representar
Pero, ¿qué pasa si el semáforo también necesita un valor amarillo? Es tentador decir que, por ejemplo, 0 voltios en el cable significa rojo, 1 voltio significa amarillo y 2 voltios significa verde. Hace mucho tiempo, había computadoras que funcionaban de esa manera, pero hay buenas razones para quedarse con dos posibles valores por cable.
El bloque de construcción fundamental de los circuitos informáticos es el transistor. En una computadora digital, la entrada a un transistor es cero o cualquier voltaje que represente uno. Pero los circuitos eléctricos no son perfectos; la entrada puede ser un poco más grande o más pequeña de lo que debería ser.
Este es un gráfico aproximado del comportamiento real de entrada-salida de un transistor. No te preocupes por los detalles; solo note los dos azules plano partes del gráfico. Dentro de la región de "corte", los pequeños cambios en el voltaje de entrada no cambian el voltaje de salida en absoluto; el resultado es siempre cero volts. Del mismo modo, dentro de la región de "saturación", los pequeños cambios de entrada no afectan el voltaje de salida; Este resultado se interpreta como un uno. Así es como se utilizan los transistores como interruptores en un ordenador. Si hubiera tres partes planas de la curva, tal vez nosotros sería tener tres valores posibles para cada cable.
Los transistores son dispositivos versátiles. Cuando se utilizan en la parte central, lineal (rosa), del gráfico, son amplificadores; una pequeña variación en el voltaje de entrada produce una variación grande en el voltaje de salida. Así es como se utilizan para reproducir música en un estéreo.
primer bit | segundo bit | significado |
---|---|---|
0 | 0 | rojo |
0 | 1 | amarillo |
1 | 0 | verde |
1 | 1 | (no usado) |
Hay cuatro combinaciones posibles de dos bits, por lo que con dos bits podemos representar hasta cuatro valores diferentes, aunque solo necesitemos tres para el semáforo.
Cada bit añadido dobles el número de valores que puede representar. Esto significa que representar situaciones complejas no cuesta mucho hardware; diez bits son suficientes para representar más de 1000 valores distintos.
Un byte tiene ocho bits.
Una palabra (word) es una secuencia de cuántos bits procesa la CPU a la vez. A partir de 2017, las palabras son de 32 o 64 bits.
Los bits no son caros, pero lo que es caro es el circuito para permitir que el programador use exactamente el menor número de bits para un problema en particular. En cambio, las computadoras modernas generalmente permiten la asignación de memoria en solo dos tamaños: el byte, que está estandarizado a ocho bits, y la palabra, que se define como una secuencia de cuántos bits procesa la CPU a la vez. A partir de 2017, las palabras pueden tener 32 bits o 64 bits de ancho, aunque la mayoría nuevas Los modelos de equipo utilizan 64 bits.
¿Cuántos valores distintos se pueden representar en 32 bits? No tiene que memorizar la respuesta, porque puede aproximarla rápidamente utilizando el hecho de que 210 = 1024, que es alrededor de 1000. Esto significa que cada diez bits de ancho multiplica el número de valores que se pueden representar por aproximadamente 1000. Entonces, 10 bits permiten alrededor de mil valores, 20 bits es aproximadamente un millón de valores, 30 bits es aproximadamente mil millones y 32 bits permiten más de cuatro mil millones de valores (porque duplicamos los mil millones dos veces más para la diferencia entre 30 y 32).
Es posible que este truco te resulte útil en el examen AP.
Cuatro mil millones de valores parece que debería ser suficiente, pero no lo es si eres un astrónomo o un banquero (o Google o Facebook). Es por eso que ahora tenemos computadoras de 64 bits, que a partir de 2019 son el estándar. (Apple acaba de eliminar el soporte para programas de 32 bits de MacOS).
El uso principal de los bytes de ocho bits es representar caracteres de texto.
Las computadoras usaron códigos de caracteres de seis bits de ancho durante muchos años, pero se requieren siete bits para tener letras y puntuación tanto en MAYÚSCULAS como en minúsculas. La primera codificación de caracteres oficialmente reconocida fue el conjunto de caracteres ASCII (American Standard Code for Information Interchange) de siete bits. Incluía un octavo bit opcional para la detección de errores, que se tomó para incluir caracteres acentuados en español, francés, alemán y algunos otros idiomas europeos. Por ejemplo, hay un carácter acentuado en el nombre del desarrollador principal de Snap!, Jens Mönig, que es alemán. (El sonido inglés más cercano es la "u" en "lunch".)
A medida que el uso de las computadoras e Internet se extendió por todo el mundo, la gente quería poder escribir chino, japonés, árabe, cabilio, ruso, tamil, etc. El Unicode El juego de caracteres admite alrededor de 1900 idiomas, utilizando 32 alfabetos modernos y 107 alfabetos históricos que ya no están en uso vivo. El juego completo de caracteres Unicode incluye 136.755 caracteres.
La representación más directa de Unicode utiliza una palabra de 32 bits por carácter, que es más que suficiente. Pero los desarrolladores de programas consideran que un uso ineficiente de la memoria de la computadora, y también, una gran cantidad de software antiguo todavía en uso se escribió cuando ocho bits por carácter era estándar. Por lo tanto, los caracteres Unicode generalmente se representan en un multi-byte representación en la que los 128 caracteres ASCII originales ocupan un byte, mientras que otros caracteres pueden requerir hasta cuatro bytes. (También es posible usar una secuencia de varios bytes para decirle a su software de procesamiento de textos que desea usar códigos de un byte o dos bytes para representar un alfabeto no latino en particular).