¿Cómo se almacena la información en binario?

¿Qué es la “información”? Es cualquier cosa que tenga un significado, y el significado es algo que le asignamos que significa algo para nosotros, como humanos.

Utilizamos muchas cosas diferentes para transmitir y almacenar información: palabras, números, libros, CD, luces intermitentes, sonidos, imágenes, señales manuales, etc.

Tome una luz simple, que le indica si un dispositivo determinado está encendido o apagado. Si la luz está encendida, la máquina está encendida. La luz nos transmite información. En este caso, es un bit (dígito binario), la unidad de información más pequeña. Un bit solo puede tener dos valores: 0 y 1. El significado que asignamos a estos dos estados depende de nosotros. Por lo general, asignamos 1 para significar ENCENDIDO, 0 para significar APAGADO, pero eso es lo que hacemos, nada inherente al binario en sí.

Si queremos almacenar más que un simple estado de encendido / apagado usando binario, necesitamos más bits. Aquí está la cosa: los bits no son solo de lo que está hecho el sistema de números binarios, sino que es la unidad fundamental de información. Los bits miden la información.

Una forma directa de almacenar información en binario es asignar números enteros positivos simples a diferentes cosas, y simplemente usar la representación binaria directa de esos números. Los números pueden ser literalmente números, o pueden ser un código que representa información en una forma diferente, por ejemplo, letras en una palabra o bloque de texto. Esta idea nos puede llevar muy lejos.

Al contar en binario, podemos ver rápidamente cómo funciona el sistema.

0, 1

Ahora necesitamos una forma de representar ‘2’, pero hemos agotado nuestros símbolos. Entonces ponemos un ‘1’ en la columna del siguiente lugar, que representa dos, y seguimos contando

2 → 10, 3 → 11

Ahora hemos agotado la capacidad de la columna 2, por lo que colocamos un ‘1’ en la siguiente posición, que representa 4s, y continuamos

4 → 100, 5 → 101, 6 → 110, 7 → 111

y otra vez,

8 → 1000, 9 → 1001, 10 → 1010, 11 → 1011, 12 → 1100, 13 → 1101, 14 → 1110, 15 → 1111

y así, tan grande como queramos. Cada nuevo bit a la izquierda duplica el tamaño del número, así como cada nuevo dígito a la izquierda en el sistema decimal multiplica el tamaño del número por diez.

Una vez que podemos representar números en binario, también podemos representar muchos otros tipos de información, mediante la conversión a números mediante una codificación. La codificación no tiene nada de natural, es algo que los humanos pensamos y usamos.

Un código alfabético simple para representar cadenas de letras podría ser

A = 1, B = 2, C = 3, D = 4 … Z = 26

Y esa sería una manera posible de representar una gran cantidad de texto simple en inglés como números y, por lo tanto, como binario. Pero como código es bastante pobre, ya que no permite signos de puntuación, caracteres en minúscula, caracteres extranjeros, otros símbolos u otros sistemas de escritura. Además, todos deben acordar qué código usar para que podamos intercambiar información; la información que no se puede leer no es realmente información. El código que todos estamos de acuerdo en usar actualmente para el texto se llama Unicode, y es una evolución de un sistema anterior llamado ASCII.

¿Qué pasa con otros tipos de información? ¿Sonido, por ejemplo? ¿Cómo podemos representar el sonido en binario?

Primero podemos digitalizar el sonido en una secuencia de muestras discretas. Una muestra es simplemente un número que representa la amplitud instantánea de la señal de sonido en un punto fijo en el tiempo. Al muestrear el sonido lo suficientemente rápido, podemos producir suficientes muestras para reproducir el sonido por completo en el otro extremo de algún canal de comunicación. Debido a que las muestras son solo números, podemos almacenarlas como binarias directamente, al igual que con el texto. Tenemos que acordar qué significan nuestros números, cómo se relaciona eso con las muestras, etc. Este acuerdo define un formato para un archivo de sonido, por ejemplo.

¿Qué hay de las imágenes? ¿Cómo podemos almacenar la información de una imagen en binario? Si podemos convertir la imagen en números, podemos almacenar los números en forma binaria. Aquí se usa un proceso de muestreo, al igual que para el sonido. Pero en lugar de una muestra que representa la amplitud instantánea de una onda de sonido en el tiempo, una muestra de imagen representa el color y la intensidad luminosa de un punto espacial en la imagen. Las muestras de imagen se denominan píxeles, y hay cientos de formas diferentes de muestrear una imagen y convertirla en números. Para transmitir esa información a otra persona, nuevamente tenemos que acordar qué significan los números. Este es nuestro formato de archivo de imagen, por ejemplo.

Si puede convertir cualquier cosa en números, los números se pueden almacenar en binario. Solo tenemos que acordar qué significan los números, y podemos transmitir cualquier información de esa manera.

Tenga en cuenta que con la tecnología actual, no todo se puede convertir en números. No sabemos una buena manera de digitalizar olores, por ejemplo. Si lo hiciéramos, podríamos transmitir un olor a otra persona, luego usar los números para reproducir el olor (usando algún dispositivo) en el otro extremo. Los números podrían convertirse en binarios, al igual que todos los números.

Ahh Amo el binario

Okay. Imagina esto. Las computadoras se hicieron hace un tiempo y, esencialmente, son estúpidas. No reconocen nada. Entonces, lo que las personas que primero diseñaron las computadoras tuvieron que hacer fue diseñar un sistema que las computadoras puedan leer.

Resulta que las computadoras pueden leer si un cable está encendido o apagado. Entonces crean un sistema, muy parecido a nuestro sistema Decimal – Wikipedia que usamos normalmente, pero en la base 2: y lo llamaron binario.

Por ejemplo, base 2 significa que puede tener 2 estados, 1 o 0. Para las computadoras, un cable que tiene corriente que lo atraviesa representa un 1, y un cable sin corriente representa un 0.

Al igual que el sistema decimal, que es base 10, cada número tiene un valor posicional (Números – Valor posicional – Primer vistazo).

Entonces, para números normales …

[matemáticas] 136 = 1 * 10 ^ 2 + 0 * 10 ^ 1 + 9 * 10 ^ 0 [/ matemáticas]

Observe cómo, dado que es la base 10, cada lugar tiene el valor de la base (10) a la potencia del número de lugares desde la derecha.

Binario es lo mismo.

Entonces…

[matemáticas] 1101101 = 1 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 + 1 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 + 1 * 2 ^ 6 [/ matemáticas]

[matemáticas] = 1 + 0 + 4 + 8 + 0 + 32 + 64 = 109 [/ matemáticas]

Entonces el número 109 se representa como 1101101 en binario.

Las computadoras usan este sistema para representar cualquier número o carácter. “Ahora”, puede que se pregunte: “¿Cómo funciona qué es una ‘w’ o una ‘a’, ya que solo almacena números? ‘. Esto es más complicado, pero puede explicarse así.

Si le preguntara qué número representa la letra “e”, podría decir 5. ¿Y “i”? 9. Es muy parecido en binario. Sin embargo, para discernir la diferencia entre números y letras, usamos un sistema de computación llamado códigos de caracteres ASCII y conversión de tabla html, octal, hexadecimal y decimal (ASCII), o Unicode Unicode – Wikipedia. Estos pueden usarse para representar números y caracteres simultáneamente.

Espero que ahora comprenda cómo funciona, si todavía no está seguro de cómo funciona, solo responda y debería poder aclararlo más.

EDITAR: como una tangente fuera de tema, hay una nueva tecnología llamada computadoras cuánticas (Cómo funcionan las computadoras cuánticas). Técnicamente (y muy simplificado), estas computadoras tienen más estados que solo 1 o 0, aunque cuando las miras se arreglan en su lugar. Estas computadoras (y otras similares) pueden allanar el camino hacia un sistema no binario de almacenamiento de información.

En última instancia, el programador tiene que encontrar una forma de representar cualquier información que quiera almacenar y administrar en formato binario. El programador sabe cómo se supone que toda la información binaria en la memoria de la computadora tiene un significado sobre el mundo real, y viceversa, cómo la información sobre el mundo real debe almacenarse en formato binario, y el programador se asegura de que toda la información binaria sea manejado de una manera que tenga sentido significativo. Eso puede sonar más difícil de lo que es: los lenguajes de programación ofrecen herramientas para ayudar a hacer eso.

Primero necesita saber que la memoria de la computadora es una matriz de (generalmente) contenedores de 64 bits. Cada contenedor puede almacenar 64 bits para su posterior recuperación; La memoria es una gran variedad de tales contenedores. El índice de un contenedor específico se puede utilizar para recuperar ese contenedor en particular, y se pueden almacenar secuencias más largas de bits utilizando múltiples contenedores consecutivos.

Los números son más fáciles: dado un número 943, este puede almacenarse en binario convirtiendo primero el número en base 2; en este caso es 1110101111. Este valor puede almacenarse directamente en uno de esos contenedores de la memoria de la computadora.

Con los datos textuales, tiene que llegar a una convención separada. Una forma tradicional es ASCII, que es un mapeo entre las letras, dígitos y símbolos más comunes, y números binarios de 7 bits. Por lo tanto, cualquier secuencia de letras se puede convertir en una secuencia de bits de esa manera, y viceversa. Por ejemplo, el código ASCII para ‘A’ es 1000001.

Para las imágenes, la conversión se realiza realmente por el hardware: la cámara o la pantalla o la impresora de la computadora convierten entre los datos del mundo real y su representación binaria. Las imágenes se representan como una cuadrícula rectangular de píxeles ; El color de cada píxel se especifica utilizando una cadena de bits. Por ejemplo, en una imagen en color de 24 bits, el color de cada píxel está representado por 8 bits que representan la cantidad de rojo en ese píxel, 8 bits que representan la cantidad de verde y 8 bits que representan la cantidad de azul.

Ahora, esto es solo el comienzo: hay muchas, muchas representaciones de datos diferentes que se usan en las computadoras, cada una de ellas introducida deliberadamente por un programador, porque tiene una ventaja u otra sobre otras representaciones. Pero estos simples y fundamentales pueden darle una idea de cómo se puede lograr en principio.

Imagina que te dan un elemento eléctrico llamado interruptor. Se puede encender o apagar. Su estado es binario. Ahora tome como un hecho que tales interruptores pueden estar usando algo llamado transistores que son tan pequeños como unos pocos nanómetros. Estos se pueden encender o apagar eléctricamente. Ahora ese proceso se llama escribir en la memoria. Ahora para las matemáticas, necesitamos hacer una representación de números en formato binario porque los interruptores solo pueden tener dos posibilidades. ¿Por qué los humanos trabajamos con decimales? Porque tenemos diez dedos. La computadora tiene solo dos dedos. Entonces contará los números en formato binario. En matemáticas tenemos sistemas numéricos y bases. Decimal es base diez. Tenemos un lugar, un lugar de decenas, un lugar de cientos, etc., que representa el poder de diez. En la computadora es el lugar de uno, el de dos, el de cuatro, etc. Entonces 101 en binario es 5 en decimal. Así se almacenan los números.

Se trata de tecnología de semiconductores. Hay chanclas que solo funcionan en 0 y 1.

Eso es binario. Toda la información codificada en binario y guardada en la memoria. Hay RAM y ROM para realizar todo esto.