sábado, 7 de enero de 2012

¿Qué es el sistema binario y como funciona?


El sistema binario es un sistema de numeración en el que los números se representan utilizando las cifras cero y uno, esto en infomática tiene mucha importancia ya que los ordenadores trabajan internamente con 2 niveles de voltaje lo que hace que su sistema de numeración natural sea binario: 1 para encendido y 0 para apagado.


Todas aquellas personas que se dedican a la informática es fundamental tener hablidad con este tipo de numeración. En este artículo voy a explicar un poco cómo se utiliza y en que consiste el sistema binario.

En binario, tan sólo existen dos dígitos, el cero y el uno. Hablamos, por tanto, de un sistema en base dos, en el que 2 es el peso relativo de cada cifra respecto de la que se encuentra a la derecha. Es decir:
An, An-1, ….., A5, A4, A3, A2, A1, A0
El subíndice n indica el peso relativo (2n)La forma de contar es análoga a todos los sistemas de numeración, incluido el nuestro, se van generando números con la combinación progresiva de todos los digitos. En base 10 (sistema decimal), cuando llegamos al 9, seguimos con una cifra más, pero comenzando desde el principio: 9,10,11… en binario sería:
0, 1 (cero y uno)
10, 11 (dos y tres)
100, 101, 110, 111 (cuatro, cinco, seis y siete)
1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 (del ocho al quince)
10000, 10001, 10010, 10011, 10100….
Ya sabemos contar… pero si nos dan un número muy grande en binario… ¿como sabríamos qué número es contar hasta que lleguemos a ese número? Bien, para eso utilizaremos el siguiente método: multiplicaremos cada dígito por su peso y sumaremos todos los valores. Por ejemplo, dado el número en binario 11110100101:
1 1 1 1 0 1 0 0 1 0 1 — Número binario
10 9 8 7 6 5 4 3 2 1 0 — Posición – peso
1×210 + 1×29 + 1×28 + 1×27 + 0×26 + 1×25 + 0×24 + 0×23 + 1×22 + 0×21 + 1×20
=
1024 + 512 + 256 + 128 + 0 + 32 + 0 + 4 + 1 = 1957
Como podemos ver todo se basa en potencias de dos. Para mayor soltura, tendremos que aprendernos de memoria las potencias de 2, al menos hasta 210 = 1024. Además, cuando ya estemos familiarizados, podremos realizar el paso anterior de memoria, sin desglosar todas las multiplicaciones y sumas, simplemente con un cálculo de cabeza.

No se termina ahí la cosa. Debemos aprender también a pasar números en decimal a binario. Para ello, dividiremos sucesivamente por dos y anotaremos los restos. El número en binario será el último cociente seguido de todos los restos en orden ascendente (de abajo a arriba). Es decir:
1957 / 2 = 978 Resto: 1
978 / 2 = 489 Resto: 0
489 / 2 = 244 Resto: 1
244 / 2 = 122 Resto: 0
122 / 2 = 61 Resto: 0
61 / 2 = 30 Resto: 1
30 / 2 = 15 Resto: 0
15 / 2 = 7 Resto: 1
7 / 2 = 3 Resto: 1
3 / 2 = 1 Resto: 1
Observar que sale como número: 11110100101
Ahora bien, ¿y para pasar a ambos sistemas si el número no es entero? La solución consiste en hacer las cuentas por separado. Si tenemos 1957.8125, por un lado pasaremos el 1957 a binario como ya hemos aprendido. Por otro, tomaremos la parte fraccionaria, 0,8125, y la multiplicaremos sucesivamente por 2, hasta que el producto sea 1. Tomaremos la parte entera de cada multiplicación, de forma descendente (de arriba a abajo, o del primero al último):

0.8125 x 2 = 1.625 — Parte Entera: 1
0.625 x 2 = 1.25 — Parte Entera: 1
0.25 x 2 = 0.5 — Parte Entera: 0
0.5 x 2 = 1 — Parte Entera: 1
El cambio de binario a decimal se realizará igual que con la parte entera, teniendo en cuenta que su peso será 2-1, 2-2, 2-3, 2-4… comenzando por el primer dígito después de la coma:
1 1 1 1 0 1 0 0 1 0 1 . 1 1 0 1 — Número binario
10 9 8 7 6 5 4 3 2 1 0 . -1 -2 -3 -4 — Posición – peso
1×210 + 1×29 + 1×28 + 1×27 + 0×26 + 1×25 + 0×24 + 0×23 + 1×22 + 0×21 + 1×20 + + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4
=
1024 + 512 + 256 + 128 + 0 + 32 + 0 + 4 + 1 + + 0.5 + 0.25 + 0 + 0.0625
=
1957.8125
Simplemente, cuanto mayor práctica, mayor velocidad y soltura en las conversiones.

Saludos.

No hay comentarios :

Publicar un comentario

Por favor, escribe adecuadamente y se respetuoso. Gracias.