miércoles, 30 de mayo de 2012

Sistema binario

El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, debido a que trabajan internamente con dos niveles de voltaje, por lo cual su sistema de numeración natural es el sistema binario (encendido 1, apagado 0).

Historia del sistema binario



El antiguo matemático hindú Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de nuestra era, lo cual coincidió con su descubrimiento del concepto del número cero
Una serie completa de 8 trigramas y 64 hexagramas (análogos a 3 bit) y números binarios de 6 bit eran conocidos en la antigua China en el texto clásico del I Ching. Series similares de combinaciones binarias también han sido utilizadas en sistemas de adivinación tradicionales africanos, como el Ifá, así como en la geomancia medieval occidental.
Un arreglo binario ordenado de los hexagramas del I Ching, representando la secuencia decimal de 0 a 63, y un método para generar el mismo fue desarrollado por el erudito y filósofo Chino Shao Yong en el siglo XI.
En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios, las cuales podrían ser codificadas como variaciones apenas visibles en la fuente de cualquier texto arbitrario.
El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo XVII, en su artículo "Explication de l'Arithmétique Binaire". En él se mencionan los símbolos binarios usados por matemáticos chinos. Leibniz utilizó el 0 y el 1, al igual que el sistema de numeración binario actual.
En 1854, el matemático británico George Boole publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole. Dicho sistema desempeñaría un papel fundamental en el desarrollo del sistema binario actual, particularmente en el desarrollo de circuitos electrónicos.

Representación

Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que suelen representar cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes. Las siguientes secuencias de símbolos podrían ser interpretadas como el mismo valor numérico binario:
1 0 1 0 0 1 1 0 1 0
| - | - - | | - | -
x o x o o x x o x o
y n y n n y y n y n
El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En una computadora, los valores numéricos pueden representar dos voltajes diferentes; también pueden indicar polaridades magnéticas sobre un disco magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno; esto depende de la nomenclatura usada.
De acuerdo con la representación más habitual, que es usando números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Los números binarios se escriben a menudo con subíndices, prefijos o sufijos para indicar su base. Las notaciones siguientes son equivalentes:
  • 100101 binario (declaración explícita de formato)
  • 100101b (un sufijo que indica formato binario)
  • 100101B (un sufijo que indica formato binario)
  • bin 100101 (un prefijo que indica formato binario)
  • 1001012 (un subíndice que indica base 2 (binaria) notación)
  •  %100101 (un prefijo que indica formato binario)
  • 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)
  • Conversión entre binario y decimal

    [editar]Decimal a binario

    Se divide el número del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente hasta que el dividendo sea menor que el divisor, 2. Es decir, cuando el número a dividir sea 1 finaliza la división.
    A continuación se ordenan los restos empezando desde el último al primero, simplemente se colocan en orden inverso a como aparecen en la división, se les da la vuelta. Éste será el número binario que buscamos.
    Ejemplo
    Transformar el número decimal 131 en binario. El método es muy simple:
    131 dividido entre 2 da 65 y el resto es igual a 1
     65 dividido entre 2 da 32 y el resto es igual a 1
     32 dividido entre 2 da 16 y el resto es igual a 0
     16 dividido entre 2 da 8  y el resto es igual a 0                   
      8 dividido entre 2 da 4  y el resto es igual a 0
      4 dividido entre 2 da 2  y el resto es igual a 0
      2 dividido entre 2 da 1  y el resto es igual a 0
      1 dividido entre 2 da 0  y el resto es igual a 1
                 -> Ordenamos los restos, del último al primero: 10000011
    
    En sistema binario, 131 se escribe 10000011
    Ejemplo
    Transformar el número decimal 100 en binario.
    Conversion.JPG
    Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos dividiendo entre dos, hasta llegar a 1. Después sólo nos queda tomar el último resultado de la columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de abajo a arriba.
    Ejemplo
    100|0
     50|0
     25|1   --> 1, 25-1=24 y seguimos dividiendo entre 2
     12|0
      6|0
      3|1
      1|1   -->  (100)_{10} = (1100100)_2  
    
    Existe un último método denominado de distribución. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8 primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir. Se comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151-128 = 23, para llegar al 151. Este valor se conseguirá distribuyendo unos entre las potencias cuya suma dé el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente.
    Ejemplo
      20=   1|1
      21=   2|0
      22=   4|0
      23=   8|0
      24=  16|0
      25=  32|0
      26=  64|0
      27= 128|0           128=(128)_{10} = (10000000)_2
    

    [editar]Decimal (con decimales) a binario

    Para transformar un número del sistema decimal al sistema binario:
    1. Se transforma la parte entera a binario. (Si la parte entera es 0 en binario será 0, si la parte entera es 1 en binario será 1, si la parte entera es 5 en binario será 101 y así sucesivamente).
    2. Se sigue con la parte fraccionaria, multiplicando cada número por 2. Si el resultado obtenido es mayor o igual a 1 se anota como un uno (1) binario. Si es menor que 1 se anota como un 0 binario. (Por ejemplo, al multiplicar 0.6 por 2 obtenemos como resultado 1.2 lo cual indica que nuestro resultado es un uno (1) en binario, solo se toma la parte entera del resultado).
    3. Después de realizar cada multiplicación, se colocan los números obtenidos en el orden de su obtención.
    4. Algunos números se transforman en dígitos periódicos, por ejemplo: el 0.1.

    Ejemplo
    0,3125 (decimal)   => 0,0101 (binario).
    Proceso:
    0,3125 · 2 = 0,625 => 0
    0,625  · 2 = 1,25  => 1
    0,25   · 2 = 0,5   => 0
    0,5    · 2 = 1     => 1 
    En orden: 0101     -> 0,0101 (binario)
    
    Ejemplo
    0,1 (decimal) => 0,0 0011 0011 ... (binario). 
    Proceso: 
    0,1 · 2 = 0,2 ==> 0
    0,2 · 2 = 0,4 ==> 0
    0,4 · 2 = 0,8 ==> 0
    0,8 · 2 = 1,6 ==> 1
    0,6 · 2 = 1,2 ==> 1
    0,2 · 2 = 0,4 ==> 0  <--se repiten las cuatro cifras, periódicamente
    0,4 · 2 = 0,8 ==> 0  <-
    0,8 · 2 = 1,6 ==> 1  <-
    0,6 · 2 = 1,2 ==> 1  <- ...
    En orden: 0 0011 0011 ... => 0,0 0011 0011 ... (binario periódico)

No hay comentarios:

Publicar un comentario