Wikichicos: Cómo funcionan las cosas/Números Binarios

De Wikilibros, la colección de libros de texto de contenido libre.

¿Qué es el binario?[editar]

La mayoría de la gente utiliza diez dígitos diferentes -del 0 al 9- para escribir números. Por ejemplo, los números 15, 987630, 100, 99 y 6 están formados por una o más de estas diez cifras.

Esto se denomina sistema numérico decimal o de base diez, lo que significa que este sistema numérico tiene diez dígitos diferentes para construir un número, tantos como dedos tienen (la mayoría) de las personas.

Pero los ordenadores no se construyen con el sistema numérico decimal. Esto se debe a que los ordenadores se construyen con circuitos electrónicos, cada una de cuyas partes puede estar encendida o apagada. Como sólo hay dos opciones, sólo pueden representar dos dígitos diferentes, 0 y 1. Esto se denomina sistema numérico binario, o de base dos. ("Bi" significa dos.)

Todos los números se construyen a partir de los dos dígitos 0 y 1. Un dígito en binario (que es un 0 o un 1) también se llama bit - abreviatura de dígito binario.

Los ordenadores utilizan este sistema numérico para sumar, restar, multiplicar, dividir y hacer todas sus otras operaciones matemáticas y de datos. Incluso guardan los datos en forma de bits.

Un bit por sí solo sólo puede significar cero o uno, así que para representar números más grandes (e incluso representar letras) los agrupan en trozos. Ocho bits forman un byte, y los ordenadores utilizan tantos bytes como necesiten para almacenar lo que necesitamos. Los ordenadores modernos tienen miles de millones de bytes de almacenamiento.

Este libro te enseñará cómo funciona el sistema numérico binario, por qué lo utilizan los ordenadores y cómo lo usan.

¿Por qué utilizamos el binario?[editar]

En matemáticas normales, no usamos binario. Nos enseñaron a utilizar nuestro sistema numérico normal. El binario es mucho más fácil de utilizar que los números normales porque sólo se utilizan dos símbolos numéricos (1 y 0) en lugar de diez (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9).

Los ordenadores utilizan el binario porque sólo pueden leer y almacenar una carga de encendido o apagado. Así, utilizando el 0 como "apagado" y el 1 como "encendido", podemos usar números en el cableado eléctrico. Si tuviéramos un color para cada símbolo matemático (del 0 al 9), tendríamos diez colores. Son muchos colores para memorizar, pero ya lo has hecho. Si te limitaras sólo al blanco y al negro, sólo tendrías dos colores. Sería mucho más fácil de memorizar, pero tendrías que crear una nueva forma de escribir los números. El binario es precisamente eso: una nueva forma de registrar y utilizar los números.

Notación binaria[editar]

En la escuela te enseñaron que tenemos columnas de unidades, decenas y centenas, y así sucesivamente. Cada columna vale diez veces la cantidad de la columna de su derecha. Esto significa que si la primera columna vale 1, la segunda vale 10, y la tercera vale 100, y así sucesivamente.

Para averiguar el valor de un dígito en una columna determinada, se multiplica el dígito por el número que vale la columna. Si no has visto antes un modelo de las columnas, tiene este aspecto:

Columna decimal 10,000 1000 100 10 1
Dígito 5 4 9 3 6
Valor 5 × 10,000 4 × 1000 9 × 100 3 × 10 6 × 1

Así, el número decimal 54.936 es igual a 5×10000 + 4×1000 + 9×100 + 3×10 + 6×1.

El binario también tiene columnas, pero cada columna vale el doble que la columna de su derecha. Se sigue determinando el valor de los dígitos de la misma manera, multiplicando el valor del bit (0 ó 1) por el valor del dígito de su columna (128, 64, 32, etc.), como se muestra a continuación:

Columna binaria 128 64 32 16 8 4 2 1
Bit 1 0 1 1 0 1 0 1
Valor 1 × 128 0 × 64 1 × 32 1 × 16 0 × 8 1 × 4 0 × 2 1 × 1

Por tanto, el número binario 10110101 = (1×128) + (1×32) + (1×16) + (1×4) + (1×1) = 181 en decimal.

Escribir números binarios[editar]

El método anterior nos permite leer números binarios, pero ¿cómo los escribimos? Una forma es escribir una lista de todos los números empezando por el uno y subiendo hacia arriba. Del mismo modo que en decimal sumar 1 a 9 da 10, y 1 + 99 da 100, en binario, al sumar uno a uno, el uno pasa al siguiente lugar a la izquierda. Sigue esta tabla para ver cómo funciona.

Base-10 Binario
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
16 10000

Observarás que los valores 1, 2, 4, 8 y 16 en binario sólo tienen un único bit uno y algunos bits cero. Si vuelves a las columnas binarias, te darás cuenta de que hay una columna para cada uno de estos valores. Si escribes el número en las columnas, sólo tendrías que escribir un 1 en la columna que tiene el mismo valor que el número que estás escribiendo. Todas las demás columnas tendrían ceros. La base diez funciona de la misma manera. Cuando escribes un número de base diez que tiene el mismo valor de una de las columnas de base diez, como 100, sólo escribirías un 1 en la columna con un valor igual al número que estás escribiendo. En las demás columnas pondrías un 0.

Base-10 version Binary
1 1
2 10
4 100
8 1000
16 10000

¿Has observado algún patrón en la escritura de los números binarios? Vuelve a estudiar la tabla del 1 al 16 hasta que entiendas por qué en binario

   "1 + 1 = 10" y "1 + 100 = 101"

a tu manera.

Es probable que hayas practicado mucho la lectura decimal, pero nada la lectura binaria, por lo que es normal que te parezca lenta.

Escribir números más grandes[editar]

¿Qué haces si quieres escribir un número más grande, como 86? Podrías utilizar el método de la lista, pero tardarías mucho tiempo. Un método más rápido es el de las columnas:

  1. Busca la columna con el valor más grande que aún sea menor o igual que el número que estás escribiendo y escribe un 1 en esa columna. Para 86, escribirías un 1 en la columna de los sesenta y cuatro porque 64 es menor que 86, pero la siguiente columna a la izquierda (128) es mayor que 86.
  2. Mira la siguiente columna a la derecha de la que has utilizado en el paso anterior. Si puedes sumar el valor de esa columna al valor de la columna anterior y obtener un número menor o igual que el número que estás convirtiendo a binario, escribe un 1 allí. Si no, escribe un 0. En el ejemplo con 86, el valor de la primera columna que utilizaste (64) más el valor de la siguiente columna a la derecha (32) es igual a 96. 96 es mayor que 86, así que tienes que convertirlo a binario. 96 es mayor que 86, por lo que escribirías un 0 en la columna de treinta y dos.
  3. Busca la siguiente columna a la derecha de la última que has escrito. Si sumando el valor de esa columna a la suma de los valores de todas las columnas con un uno en ellas obtienes un número menor o igual que tu número, escribe un 1 en esa columna. Si no, escribe un 0. Con 86, la siguiente columna sería la de los dieciséis. 16 más la suma de los valores de todas las columnas anteriores con unos (64 en este ejemplo) es 80. 80 es menor que 86, así que escribe un 1 en esa columna. 80 es menor que 86, por lo que escribirías un 1 en la columna de los dieciseisavos.
  4. Repite el paso 3 hasta que la suma de los valores de las columnas con unos sea igual al número que intentabas encontrar. Una vez que esto ocurra, rellena las columnas restantes con ceros.

A continuación puedes ver una tabla que muestra el proceso completo con 86:

Columna binaria 128 64 32 16 8 4 2 1
¿Cabe este número? No. El total sería 128, y 128>86. Sí. El total sería 64, y 64<86. El total sería 96, y 96>86. Sí. El total sería 80, y 80<86. El total sería 88 y 88>86. Sí. El total sería 84, y 84<86. Sí. El total sería 86. El total sería 87 y 87>86.
Bit Aquí se puede poner un 0 o dejarlo en blanco. 1 0 1 0 1 1 0
Total 0 64 64 80 80 84 86 86

Traducción a Base-10[editar]

El número binario de 52 es 110100. ¿Cómo se lee un número binario?

  1. Mira la columna de los unos. Como tiene un 0, no añades nada al total.
  2. Luego miras la columna de los doses. Nada, así que pasamos a la siguiente columna.
  3. Tenemos un 1 en la columna de los cuatros, así que sumamos 4 al total (el total es 4).
  4. Saltándonos la columna de los ochos, ya que tiene un 0, llegamos a un 1 en la columna de los dieciséis. Sumamos 16 al total (el total es 20).
  5. Por último, tenemos un 1 en la columna de treinta y dos. Lo añadimos al total (el total es 52).

Ya está. Ahora tenemos el número 52 como total. Lo básico para leer un número de base 2 es sumar el valor de cada columna al total si hay un 1 en ella. No tienes que multiplicar como en base-10 para obtener el total (como el 5 en la columna de las decenas del ejemplo anterior de base-10) porque los únicos dígitos son 0 (recuerda que 0 por cualquier cosa es igual a 0) y 1 (recuerda que 1 por cualquier cosa es siempre igual al otro número). Veamos 110100 en una tabla.

Dígito binario Columna Valor del dígito binario
0 1 0
0 2 0
1 4 4
0 8 0
1 16 16
1 32 32
Total 52

Ahora veamos otra cifra.

Encontrar un número misterioso[editar]

lEl número binario es 1011, pero no sabemos cuál es. Hagamos el proceso de lectura de columnas para averiguar cuál es el número.

  1. La columna de uno tiene un 1, así que sumamos 1 x 1 al total (el total es 1).
  2. La columna del dos tiene un 1, así que sumamos 1 x 2 al total (el total es 3).
  3. La columna del cuatro tiene un 0, así que sumamos 0 x 4 al total (el total sigue siendo 3).
  4. La columna del ocho tiene un 1, así que sumamos 1 x 8 al total (el total es 11).

Ya hemos terminado, así que el total es la respuesta. ¡La respuesta es 11! Aquí tienes más números para que los resuelvas.

1

101=

2

1111=

3

10001=

4

10100=

5

101000=

Almacenamiento de texto[editar]

Los ordenadores lo almacenan todo en binario, incluido el texto. Para ello, cada letra, cada signo de puntuación, de hecho un gran número de los símbolos que la gente ha utilizado tiene su propio número en un sistema llamado Unicode.

Por ejemplo, si te llamas "George", el ordenador puede almacenarlo en binario guardando el número de la "G", el de la "e" y así sucesivamente. Los símbolos más comunes del inglés americano, como las letras sin acento, pueden almacenarse con un solo byte. Otros símbolos, como "£" y "¿", necesitan más de un byte, ya que se les ha asignado un número mayor. Algunos ejemplos:

  • G se almacena como 71, que es "0100 0111" en binario
  • e se almacena como ciento uno, que es "0110 0101" en binario.

La palabra completa "George" se parece a

0100 0111 0110 0101 0110 1111 0111 0010 0110 0111 0110 0101

Aunque esto pueda parecer un galimatías, ¡a ver si eres capaz de encontrar el resto de las letras y su representación decimal!