Principal

Comentar publicación Español
x

Elige tu idioma

EnglishEspañol

Cómo funciona el sistema de numeración binario 2


Sé el primero al que le gusta


<< Volver a Cómo funciona el sistema de numeración binario (Primera parte)

 
Multiplicaciones con números binarios

 
Las multiplicaciones con números binarios funcionan exactamente de la misma manera que con el sistema decimal, sólo que se opera con dos dígitos, 1 y 0.

0 x 0 = 0
1 x 0 = 0
0 x 1 = 0
1 x 1 = 1
 
El proceso de multiplicación así como en el sistema decimal, se realiza multiplicando cada columna del multiplicador (el número que multiplica una x cantidad de veces a otro número y que por lo general se coloca en la parte de abajo) por cada columna del multiplicando (número que se multiplica y que por lo general se coloca en la parte de arriba de la operación). Los resultados de la multiplicación de cada columna del multiplicador por todas las columnas del multiplicando luego se suman para dar un resultado final.
 
Veamos algunos ejemplos:
 
Trabajando con diez dígitos, 20 x 5 en binario es:
 
0000010100 x 0000000101 =
 

    0 0 0 0 0 1 0 1 0 0
x   0 0 0 0 0 0 0 1 0 1
-------------------------------
    0 0 0 0 0 1 0 1 0 0
  0 0 0 0 0 0 0 0 0 0  
0 0 0 0 0 1 0 1 0 0    
-------------------------------
0 0 0 0 0 1 1 0 0 1 0 0

 
Como se puede ver, primero se multiplicaron cada uno de los dígitos del multiplicador 0000000101 (solamente la parte de 101, ya que los 0 restantes darían 0 como resultado por lo que no son necesarios) por cada dígito del multiplicando 0000010100:

0000010100 x 1 = 0000010100
0000010100 x 0 = 0000000000
0000010100 x 1 = 0000010100

Además cada producto parcial de la operación debe desplazarse una columna hacia la izquierda. Finalmente se suman los resultados de cada multiplicación individual, para dar con el resultado final de la operación de multiplicación que es 0001100100.
 
-----------------------------------------------------------------------------------------------------
 
Veamos otros ejemplos de multipicaciones:
 
Trabajando con diez dígitos, 12 x 10 en binario es:
 
0000001100 x 0000001010 =

      0 0 0 0 0 0 1 1 0 0
x     0 0 0 0 0 0 1 0 1 0
------------------------------------
      0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 1 1 0 0  
  0 0 0 0 0 0 0 0 0 0    
0 0 0 0 0 0 1 1 0 0      
------------------------------------
0 0 0 0 0 0 1 1 1 1 0 0 0

 

El resultado de 0000001100 x 0000001010 es 0001111000, lo cual es correcto ya que equivale a 120 en decimal y 12 x 10 = 120.
 
-----------------------------------------------------------------------------------------------------
 
También existe otro método de multiplicación de números binarios, que consta simplemente de sumar un multiplicando la cantidad de veces de un multiplicador; ya que una multiplicación no es otra cosa más que sumar una cierta cantidad de veces a un determinado número.

Por ejemplo, en el sistema decimal, multiplicar 10 x 4, equivale a sumar 4 veces a 10. En el sistema binario funciona exactamente igual:

10 x 4 en número binario de diez dígitos es:

0000001010 x 0000000100 =
 

            1   1     << Segundo dígito transferido a la columna de la izquierda
            1 1 1     << Dígito transferido a la columna de la izquierda
  0 0 0 0 0 0 1 0 1 0  
+ 0 0 0 0 0 0 1 0 1 0  
  0 0 0 0 0 0 1 0 1 0  
  0 0 0 0 0 0 1 0 1 0  
----------------------------
  0 0 0 0 1 0 1 0 0 0  

Se confirma que el resultado de 0000001010 x 0000000100 es correcto, ya que 0000101000, tiene como equivalente decimal a 40.
 
-----------------------------------------------------------------------------------------------------
 
Repitiendo el ejemplo de 20 x 5 en binario de diez dígitos:
 
0000010100 x 0000000101 =
 

            1   1       << Tercer dígito transferido a la columna de la izquierda
            1           << Segundo dígito transferido a la columna de la izquierda
          1 1 1 1       << Dígito transferido a la columna de la izquierda
    0 0 0 0 0 1 0 1 0 0  
    0 0 0 0 0 1 0 1 0 0  
+   0 0 0 0 0 1 0 1 0 0  
    0 0 0 0 0 1 0 1 0 0  
    0 0 0 0 0 1 0 1 0 0  
------------------------------
    0 0 0 1 1 0 0 1 0 0  

-----------------------------------------------------------------------------------------------------

 
Divisiones con números binarios

 
En las divisiones con números binarios se siguen las mismas reglas que en las de números del sistema decimal. Antes de comenzar a realizar operaciones de división con números binarios, veamos un ejemplo de división con números decimales y sus reglas.

 
Supongamos que se quiere dividir 1125 / 25; dicho número 1125 que se quiere dividir se denomina dividendo mientras que 25, siendo un número que divide a 1125 (dividendo) se denomina divisor. El resultado de la división se denomina cociente.
 

              | 25  << DIVISOR
 
DIVIDENDO >>   1 1 2 5     |______________  
  - 1 0 0     0 0 4 5             << COCIENTE
    -------                        
    0 1 2 5                        
    - 1 2 5
                     
      -------                      
RESTO >>     0 0 0                        

 
Analicemos la operación:

  • El proceso de dividir un dividendo se realiza por partes, las cuales siempre deben ser iguales o mayores a su divisor. Cada vez que se intenta dividir una parte y la misma es menor a su divisor, se debe colocar un dígito 0 en la sección del cociente. Después se le agrega en la parte del dividendo que se intenta dividir, el siguiente dígito de la derecha y nuevamente se intenta dividir esa parte del dividendo con un dígito adicional; si la parte a dividir es aún menor a su divisor, se debe colocar otro 0 en la sección del cociente y agregar en la parte del dividendo a dividir el siguiente dígito hacia la derecha; por el contrario si la parte del dividendo es mayor o igual a su divisor se procede a dividir dicha parte del dividendo y a continuación se coloca el resultado de la división parcial en la sección del cociente.
  • En este ejemplo, primero tratamos de dividir el 1 de la unidad de mil entre 25, pero como es menor a dicho divisor, se lo junta con el siguiente 1 de las centenas, formando un 11, pero ese número aún sigue siendo menor a 25, por lo que se coloca otro 0 en la sección del cociente y se junta el 2 de las decenas con el 11, formando un 112, que sí es mayor a 25 y se puede dividir. El resultado de dicha división parcial es 4; ya que 4 x 25 es igual a 100 (5 x 25 es igual a 125, por lo que el número 112 si se divide entre 25 da un número mayor a 4 y menor a 5). Como 112 es mayor a 100 (4 x 25); esta división parcial dejará un resto, que se puede encontrar sustrayendo 100 (4 x 25) de 112.
  • Luego se multiplica el resultado parcial del cociente, 4 por el divisor 25, y el producto de esa multiplicación, 100, se resta de la parte del dividendo 112. La diferencia obtenida de esa sustracción es 12, ya que 112 es 12 números mayor a 100.
  • A continuación se baja el 5 (en rojo) de las unidades de 1125; y se junta con la diferencia 12, obtenida anteriormente, formando un 125 que se divide entre 25 del divisor, dando como resultado parcial un 5, que se coloca en la sección del cociente. Después se multiplica ese 5 del cociente por 25 del divisor, dando 125, que se resta de la parte del dividendo 125, con lo que obtenemos una diferencia de 0, ya que 5 x 25 es exactamente igual a 125. Así finaliza la operación con un cociente de 0045 o 45, ya que los 0 de la izquierda no tienen valor cuantitativo y un resto de 0.

 
 
Las divisiones con números binarios, tienen el mismo mecanismo, sólo que se opera con dos dígitos en lugar de diez, por lo que si se divide una parte del dividendo, mayor o igual a su divisor, se debe colocar un 1 en la sección de cociente. Por el contrario, si la parte del dividendo es menor a su divisor, se debe colocar un 0 en la sección del cociente, como se hace en divisiones decimales, y a continuación se agrega en la parte del dividendo que se intenta dividir, el siguiente dígito de la derecha. Este proceso se debe realizar hasta juntar una parte del dividendo mayor o igual a su divisor.
 
A continuación dividiremos 101100 / 110:
 

              | 110
1 0 1 1 0 0     |______________
  1 1 0       0 0 0 1 1 1        
----------                          
0 1 0 1 0                        
    1 1 0  
                   
  ----------                        
  0 1 0 0 0                      
      1 1 0                      
    ---------                      
    0 0 1 0                      

 

  • Primero intentamos dividir 1 entre su divisor 110, pero como es menor a este último, colocamos un 0 en la sección del cociente y a continuación juntamos a 1 de la columna de 25 con 0 de la columna de 24 del dividendo, formando 10, e intentamos dividir dicha parte entre 110; pero aún así es menor a su divisor, por lo que tenemos que colocar otro 0 en la sección del cociente. Intentamos dividir una parte del dividendo nuevamente, agregando en 10 a 1 de la columna 23, formando 101; pero también es menor a 110, por lo que se coloca otro 0 en la sección del cociente. Probamos otra vez agregando en 101 como cuarto dígito a 1 de la columna 22, con lo que formamos un 1011, que sí es mayor a 110; por lo tanto se puede dividir. Así colocamos un primer 1 en la sección del cociente. Después multiplicamos aquel 1 por 110, obteniendo 110 (ya que todo número multiplicado por 1 siempre da como resultado ese mismo número), que debe ser restado de 1011 para saber así a través de la diferencia el resto que nos queda de la operación.
  • La diferencia o resto que nos queda de 1011 - 110 es 101. A continuación bajamos y agregamos en 101 a 0 de la columna 21 de 101100, formando 1010, que es mayor a 110 y por lo tanto se puede dividir. Así colocamos otro 1 en la sección del cociente. Dicho 1 es multiplicado por 110 y su producto se resta de 1010 para obtener un resto o diferencia de 100.
  • Después se baja 0 de la columna 20 y se junta con 100 (diferencia obtenida anteriormente de 1010 - 110), y se obtiene 1000 que sí puede ser dividido entre 110, ya que es mayor a dicho número. Así colocamos otro 1 en la sección del cociente, lo multiplicamos por 110 y su producto (110) se resta de 1000, para obtener así un resto de 10. Nos detenemos ahí y nos quedamos con ese resultado del cociente 000111 o 111 (ya que los 0 en la izquierda no tienen valores cuantitativos) y su resto 10. No continuamos con la operación ya que su resultado es un número con coma, lo cual aprenderemos a representar en sistema binario en un rato. Por ahora resolveremos divisiónes sólo quedándonos con la parte entera del cociente más un resto que en una de las siguientes secciones aprenderemos a dividir.
  • Verificamos si la división anterior 101100 / 110 es correcta pasando los números a sistema decimal. La misma sería 44 / 6, con un cociente de 7 y un resto de 2, lo cual demuestra que la operación fue resuelta correctamente ya que 111 y 10 equivalen a 7 y 2 respectivamente en decimal. Si multiplicamos 7 x 6, obtenemos 42 y si sumamos 2 del resto obtenemos 44.

 
-----------------------------------------------------------------------------------------------------
 
Continuemos con otras divisiones:
 
1111101000 / 101000 = ? (equivalente a 1000 / 40 en decimal)
 

                        | 101000
  1 1 1 1 1 0 1 0 0 0     |______________
- 1 0 1 0 0 0           0 0 0 0 0 1 1 0 0 1
  ---------------                              
  0 1 0 1 1 0 1      
                   
  - 1 0 1 0 0 0                            
    ---------------                            
    0 0 0 1 0 1 0 0 0                      
        - 1 0 1 0 0 0                      
          ---------------                      
          0 0 0 0 0 0                      

 
Entonces 1111101000 / 101000 = 11001
 
La operación es correcta ya que 11001 es equivalente a 25 en decimal, y 1000 / 40 = 25, lo cual nos deja además un resto de 0.

-----------------------------------------------------------------------------------------------------
 
1111111100 / 101 = ? (equivalente a 1020 / 5 en decimal)
 

                        | 101
  1 1 1 1 1 1 1 1 0 0     |______________
- 1 0 1                 0 0 1 1 0 0 1 1 0 0
  -------                              
  0 1 0 1            
                   
  - 1 0 1                                  
    -------                            
    0 0 0 1 1 1                            
        - 1 0 1                            
        ----------                            
        0 0 1 0 1                          
          - 1 0 1                          
          ----------                          
            0 0 0 0 0                      

 

1111111100 / 101 = 0011001100 

La operación es correcta ya que 0011001100 es equivalente a 204 en decimal, y 1020 / 5 = 204, lo cual nos deja además un resto de 0.

 
-----------------------------------------------------------------------------------------------------
 
11001 / 10100 = ? (equivalente a 25 / 20 en decimal)
 

              | 10100
  1 1 0 0 1     |______________
- 1 0 1 0
0   0 0 0 0 1          
  ------------
                   
  0 0 1 0 1                      

 

11001 / 10100 = 00001
 

La operación es correcta ya que 00001 es equivalente a 1 en decimal, y 25 / 20 = 1 más un resto de 5, y precisamente la división anterior dejó un resto de 101 (equivalente a 5 en decimal). Sin embargo si queremos obtener el cociente exacto, de 25 / 20 en decimal nos da 1,25. Para poder obtener como cociente su equivalente en sistema binario, debemos aprender a trabajar con números binarios con coma flotante, lo cual veremos dentro de un rato luego de la siguiente sección.
 
 

Cómo convertir números decimales a binarios

 
Convertir un número binario a decimal es fácil, y como ya hemos visto hay que multiplicar cada dígito del número por la potencia de la columna en la que se encuentra ubicado y a continuación se deben sumar todos los productos de las multiplicaciones.
 
Por ejemplo para pasar 101100 a decimal:
 

(1 x 25) + (0 x 24) + (1 x 23) + (1 x 22) + (0 x 21) + (0 x 20) 

 = (1 x 32) + (0 x 16) + (1 x 8) + (1 x 4) + (0 x 2) + (0 x 1)

 = 32 + 0 + 8 + 4 + 0 + 0 = 44
 
Por lo tanto 101100 = 44

 
Esta misma técnica se puede utilizar en cualquier sistema numérico utilizando la fórmula generalizada:
 
Dado un número M de raiz A (raiz de sistema de numeración; 10 si es decimal, 2 si es binario, etc), con n dígitos, donde d representa los dígitos:
 
M = (dn-1x An-1) +(dn-2 x An-2) + (dn-3 x An-3) + (dn-4 x An-4) +.......... + (d1 xA1) + (d0 x A0) 

 
La idea no es asustarlos con complicadas fórmulas matemáticas, por eso paso a describir la fórmula anterior, la cual puede aplicarse a cualquier sistema de numeración.

 
La letra M representa un número en sistema de numeración de raiz A (si A = 2 se trata del sistema binario, si A = 10 se trata del sistema decimal, etc); n es la cantidad de dígitos que tiene M (por ejemplo en sistema decimal si n = 5 se trata de un número de cinco dígitos como puede ser 40.000; si en sistema binario n = 4, se trata de un número de cuatro dígitos como puede ser 1001). La letra d representa a los dígitos del sistema de numeración que se pueden utilizar (cualquiera de los diez dígitos en sistema decimal, cualquiera de los dos dígitos en sistema binario, etc). Los exponentes de A llegan hasta n-1 dado que se comienza a contar desde 0, por lo tanto en un número de cinco dígitos (n = 5) se llega hasta la potencia 5 - 1, o sea 4; por lo que las cinco potencias serían A4, A3, A2, A1, A0. Cada dígito d se distingue con un sufijo que va de 0 a n-1. Los puntos suspensivos del medio representan una cierta cantidad de términos del tipo (dn-x x An-x) que por motivos de espacio no se agregan, pero en la fórmula se da a entender que la misma sirve para representar números de toda cantidad de dígitos; en este ejemplo entre (dn-4 x An-4) y (d1 x A1) se supone que se encuentran los términos desde (dn-5 x An-5) a (d2 x A2).
 
Así en sistema binario 110010 es un número de seis dígitos (n = 6), con raiz 2 (A = 2), dígitos d que pueden ser 1 o 0, y exponentes de potencias que van de 0 a 5 (n - 1).

110010 = (1 x 25) + (1 x 24) + (0 x 23) + (0 x 22) + (1 x 21) + (0 x 20) = 50 (decimal)

 
Pero el proceso de pasar un número decimal a binario es conceptualmente un poco más complicado que aquel de pasar un número binario a decimal. Sin embargo puede hacerse fácilmente una vez aprendido el método de conversión. Vamos a comenzar con algunos ejemplos simples. Supongamos que queremos convertir un número 3 en binario, y nos damos fácilmente cuenta que 3 = 2 + 1, lo cual es equivalente a
(1 x 21) + (1 x 20) que en binario se traduce poniendo un dígito 1 en la columna 21 y otro dígito 1 en la columna 20, para así obtener un 11. Para convertir 5 de decimal a binario es igualmente simple; ya que 5 = 4 + 1, equivalente a sumar los términos (1 x 22) + (0 x 21) + (1 x 20), lo que nos da en binario 101.

 
Lo que estuvimos haciendo en los dos ejemplos anteriores es buscar la potencia más grande de 2 menor o igual a un número decimal que queremos convertir a binario y después restarla del número para obtener una diferencia o resto. Luego repetimos lo mismo, buscando la mayor potencia de 2 dentro del resto la cual es restada, y así continúa el proceso hasta que nos queda una diferencia de 0.
 
Por ejemplo con 5, primero buscamos la potencia de 2 más grande menor o igual a ese número, la cual es 22 = 4; después restamos 5 - 4 y nos queda 1; a continuación buscamos la potencia de 2 más grande en 1, la cual es 20 = 1, la restamos de 1 y finalmente obtenemos un resto de 0, ya que 1 - 1 = 0. Por lo tanto, colocamos dígitos 1 en las columnas 22 y 20, dejando un 0 en la columna 21: 101.
 
Utilizando la lista de potencias de 2 vamos a ver algunos ejemplos:
 
20 da como resultado 1
21 da como resultado 2
22 da como resultado 4
23 da como resultado 8
24 da como resultado 16
25 da como resultado 32
26 da como resultado 64
27 da como resultado 128
28 da como resultado 256
29 da como resultado 512
210 da como resultado 1024
 
 

Vamos a convertir 40 de decimal a binario:

  • Primero buscamos la potencia más grande de 2, menor o igual a 40. Probamos con 26, pero es mayor a 40, ya que nos da 64; después probamos con 25, que sí es menor, ya que 25 = 32. Así colocamos un 1 en la columna de 25. Resultado parcial 1_ _ _ _ _
  • Después sustraemos 32 de 40 para obtener una diferencia de 8.
  • A continuación restamos 1 del exponente 5 de 25, y buscamos la potencia de 2 más grande, menor o igual a 8; continuando con 24 = 16; que por ser mayor a 8 no sirve para formar parte del número 40 en binario; así agregamos un 0 en la columna de 24. Sustraemos 1 del exponente 4 y probamos de encontrar la potencia más grande menor o igual a 8 con 23. Como 23 = 8, colocamos un dígito 1 en la columna 23; y sustraemos 8 de 8 (8 - 23), obteniendo una diferencia de 0. Resultado parcial 101_ _ _
  • Como el resto que nos queda ya es 0 y no se necesita buscar otras potencias de 2, colocamos dígitos 0 en las columnas que faltan; finalizando con 40 = 101000.

 

-----------------------------------------------------------------------------------------------------
 
Vamos a convertir 100 a sistema binario:
 

  • De la lista de potencias de arriba, encontramos que 26 = 64 es la potencia de 2 más grande menor o igual a 100. Colocamos 1 en la columna de 26, obteniendo un resultado parcial 1_ _ _ _ _ _. Restamos 100 - 64 y nos quedamos con una diferencia de 36.
  • A continuación buscamos la potencia más grande menor o igual a 36. Comenzamos con 25 = 32; que como es menor a 36, forma parte de 100 en binario. Colocamos otro 1 en la columna 25, obteniendo un resultado parcial 11_ _ _ _ _ . Sustraemos 25 de 36 (36 - 32) y nos queda 4.
  • Después buscamos la potencia de 2 más grande menor o igual a 4. Comenzamos en la columna 24, que es 16, por lo tanto mayor a 4; teniendo que colocar un dígito 0 en la columna 24, quedando el resultado parcial de la conversión 110_ _ _ _. Seguimos con 23 = 8; que también es mayor a 4, por lo que tenemos que agregar otro 0 en la columna 23, quedando un resultado parcial 1100_ _ _. Seguimos con 22 = 4; que por ser igual a 4 forma parte del número binario. Así nos queda un resultado parcial 11001_ _. Sustraemos 22 de 4 (4 - 4) y nos deja una diferencia de 0.
  • Como la diferencia que nos dejó es 0, no hace falta buscar otras potencias de 2, por lo que completamos el número agregando dos 0 en las columnas 21 y 20; obteniendo un resultado final de 1100100. Si chequeamos, podemos ver que es correcto, ya que (1 x 26) + (1 x 25) + (0 x 24) + (0 x 23) + (1 x 22) + (0 x 21) + (0 x 20) = 64 + 32 + 0 + 0 + 4 + 0 + 0 = 100.

-----------------------------------------------------------------------------------------------------
 

También existe otro método alternativo para convertir números decimales a sus equivalentes en sistema binario, que veremos a continuación.
 
Para entender este método hay que comprender el mecanismo de división de números entre 10 si se trata de números decimales o entre 2 si se trata de números binarios. Con los números decimales, cada vez que son divididos por 10 todos los dígitos que forman parte del mismo se mueven una columna hacia la derecha, mientras que si son multiplicados por 10 se mueven una columna hacia la izquierda y se agrega un 0 en la columna de las unidades. Por ejemplo:

Si queremos dividir 245.300 / 10 todos los digitos se desplazan una columna hacia la derecha: 245.000 >> 24.500.
Si continuamos dividiendo por 10 seguiríamos desplazando los dígitos hacia la derecha: 24.500 >> 2.450.
Si volvemos a dividir por 10 seguimos desplazando los dígitos hacia la derecha: 2.450 >> 245
Si nuevamente dividimos por 10 se siguen desplazando los dígitos hacia la derecha: 245 >> 24 (y un resto de 5) o 24,5
Si dividimos por 10, como ya se sabe los dígitos se desplazan hacia la derecha: 24 >> 2 (y un resto de 4) o 2,4

Lo mismo ocurre con los números binarios, sólo que cuando se desplazan todos los dígitos hacia la derecha en lugar de dividirse por 10 se dividen por 2 ( 10 en binario -uno cero- ).

Dado 101000 (40 en decimal)

Si se divide por 2 (10 en binario) todos los dígitos se mueven hacia la derecha: 101000 >> 10100 (20 en decimal).
Si seguimos dividiendo por 2: 10100 >> 1010 (10 en decimal).
Si seguimos dividiendo por 2: 1010 >> 101 (5 en decimal).
Si seguimos dividiendo por 2: 101 >> 10 (2 y un resto de 1) o 10,1 -número fraccionario- se estudiará en un rato.
Si seguimos dividiendo por 2: 10 >> 1 (1 en decimal).

Otra cosa a tener en cuenta es que todos los números impares, en sistema binario tienen un dígito 1 en la columna de 20 ya que todas las demás columnas son potencias de 2 y por ende múltiplos de aquel número, siendo por lo tanto pares; para volver impar a un número hay que sumarle un 1, o sea agregar un 1 en la columna 20. Teniendo en cuenta entonces lo que vimos se podrá entender fácilmente el método alternativo de conversión de números decimales a sistema binario.

Para convertir un número de decimal a binario hay que fijarse si es impar o par; si se trata de un número impar se agrega un 1 en la columna 20 del cociente y se le resta una unidad a ese número que queremos convertir, de lo contrario se coloca en la misma un 0. Luego se lo divide por 2 (se desplazan todos los dígitos una columna hacia la derecha), si su cociente es impar se coloca un 1 en la columna 21 del resultado parcial y se le sustrae a nuestro número a convertir una unidad, de lo contrario se pone en la columna 21 del resultado parcial un dígito 0. Después se vuelve a dividir por 2 y se repite este proceso hasta que nuestro número sea igual a 0.

Por ejemplo si queremos convertir 121 en binario:

Como 121 es impar, colocamos 1 en la columna de 20 y restamos 121 - 1 = 120: Resultado parcial 1
Dividimos 120 / 2 = 60. Como 60 es par, colocamos 0 en la columna 21: Resultado parcial 01
Dividimos 60 / 2 = 30. Como 30 es par, colocamos 0 en la columna 22: Resultado parcial 001
Dividimos 30 / 2 = 15. Como 15 es impar, colocamos 1 en la columna 23 y restamos 15 - 1 = 14: Resultado parcial 1001
Dividimos 14 / 2 = 7. Como 7 es impar, colocamos 1 en la columna 24 y restamos 7 -1 = 6: Resultado parcial 11001
Dividimos 6 / 2 = 3. Como 3 es impar, colocamos 1 en la columna 25 y restamos 3 - 1 = 2: Resultado parcial 111001
Dividimos 2 / 2 = 1. Como 1 es impar, colocamos 1 en la columna 26 y restamos 1 - 1 = 0. Resultado final 1111001
 
-----------------------------------------------------------------------------------------------------
 
Dado un número decimal 400:
 
400 es par. Resultado parcial 0
400 / 2 = 200. Es par: Resultado parcial 00
200 / 2 = 100. Es par: Resultado parcial 000
100 / 2 = 50. Es par: Resultado parcial 0000
50 / 2 = 25. Es impar: 25 - 1 = 24: Resultado parcial 10000
24 / 2 = 12. Es par: Resultado parcial 010000
12 / 2 = 6. Es par: Resultado parcial 0010000
6 / 2 = 3. Es impar: 3 - 1 = 2: Resultado parcial 10010000
2 / 2 = 1. Es impar: 1 - 1 = 0: Resultado parcial 110010000
0 / 2 = 0. Ya no se puede continuar cuando es 0, por lo tanto 400 en binario es 110010000
 
 
Esta en ustedes decidir cuál de los dos métodos de conversión de números decimales a binarios les conviene más o se les hace más práctico.
 
 

Números binarios con coma flotante
 

Hasta ahora hemos trabajado con números enteros, sin embargo muchas veces es necesario operar con números con coma flotante, o sea magnitudes con parte fraccionaria como por ejemplo en sistema decimal 2,5 que en fracción decimal se representa como 5/2.

Antes de analizar números con coma en sistema binario, veremos cómo se forman los números con coma o parte fraccionaria en sistema decimal.

Como vimos en un principio los números decimales se forman multiplicando el dígito de cada columna del número (unidades, decenas, centenas, unidad de mil, decena de mil, centena de mil) por la potencia de 10x correspondiente a dicha columna y luego sumando todos los productos.

Por ejemplo para formar 445.425:

 (4 x 105) + (4 x 104) + (5 x 103) + (4 x 102) + (2 x 101) + (5 x 100) 

 = (4 x 100.000) + (4 x 10.000) + (5 x 1.000) + (4 x 100) + (2 x 10) + (5 x 1)

 = 400.000 + 40.000 + 5.000 + 400 + 20 + 5 = 445.425

Para formar números con coma o parte fraccionaria se sigue un mismo mecanismo, sólo que con exponentes negativos, ya que:

10-1 = 1/10 = 0,1
10-2 = 1/100 = 0,01
10-3 = 1/1.000 = 0,001
10-4 = 1/10.000 = 0,0001
10-5 = 1/100.000 = 0,00001

Cada una de estas potencias de 10 representan una columna de la parte fraccionaria o decimal de un número (hacia la derecha de la coma) y son multiplicadas por un dígito ubicado en dicha columna; después se suman todos los productos de las multiplicaciones para obtener la parte fraccionaria del número.
 
Por ejemplo 125,144 se forma de la siguiente manera:
 

 (1 x 102) + (2 x 101) + (5 x 100) + (1 x 10-1) + (4 x 10-2) + (4 x 10-3) 

 = (1 x 100) + (2 x 10) + (5 x 1) + (1 x 0,1) + (4 x 0,01) + (4 x 0,001)

 = 100 + 20 + 5 + 0,1 + 0,04 + 0,004 = 125,144

 
En binario es exactamente igual, sólo que en lugar de potencias de 10 se utilizan potencias de 2 con exponente negativo para representar la parte fraccionaria de un número, o sea la parte que se encuentra por sobre la derecha de la coma del número.
 
2-1 = 1/2 = 0,5
2-2 = 1/4 = 0,25
2-3 = 1/8 = 0,125
2-4 = 1/16 = 0,0625
2-5 = 1/32 = 0,03125
 
Por ejemplo pasemos 10,1001 a sistema decimal:

 (1 x 21) + (0 x 20) + (1 x 2-1) + (0 x 2-2) + (0 x 2-3) + (1 x 2-4) 

 = (1 x 2) + (0 x 1) + (1 x 0,5) + (0 x 0,25) + (0 x 0,125) + (1 x 0,0625)

 = 2 + 0 + 0,5 + 0 + 0 + 0,0625 = 2,5625
 
Por lo tanto 10,1001 binario es equivalente a 2,5625 en decimal.
 
-----------------------------------------------------------------------------------------------------
 
Veamos otro ejemplo:
 
Pasemos 100,1 a sistema decimal:
 

 (1 x 22) + (0 x 21) + (0 x 20) + (1 x 2-1)

 = (1 x 4) + (0 x 2) + (0 x 1) + (0 x 0,5)

 = 4 + 0 + 0 + 0,5 = 4,5

 
-----------------------------------------------------------------------------------------------------
 
Pasemos 0,01 a sistema decimal:
 

 (0 x 20) + (0 x 2-1) + (1 x 2-2)

 = (0 x 1) + (0 x 0,5) + (1 x 0,25)

 = 0 + 0 + 0,25 = 0,25
 

-----------------------------------------------------------------------------------------------------
 
Pasemos 100110,101110 a decimal:
 
(1 x 25) + (0 x 24) + (0 x 23) + (1 x 22) + (1 x 21) + (0 x 20) + (1 x 2-1) + (0 x 2-2) + (1 x 2-3) + (1 x 2-4) + (1 x 2-5) + (0 x 2-6)

 = (1 x 32) + (0 x 16) + (0 x 8) + (1 x 4) + (1 x 2) + (0 x 1) + (1 x 0,5) + (0 x 0,25) + (1 x 0,125) + (1 x 0,0625) + (1 x 0,03125) + (0 x 0,015625)

 = 32 + 0 + 0 + 4 + 2 + 0 + 0,5 + 0 + 0,125 + 0,0625 + 0,03125 + 0,015625  = 38,734375
 
Por lo tanto
100110,101110 binario es equivalente a 38,734375 en decimal.
 
-----------------------------------------------------------------------------------------------------
 
Ahora vamos a ver cómo se convierte un número decimal con coma flotante a binario.
 

  • Dado un número decimal con coma; primero se debe convertir a binario la parte entera, con algunos de los métodos que ya hemos analizado.
  • Después se convierte la parte fraccionaria del número, multiplicandola por 2, si su resultado es igual o mayor a 1 se agrega un dígito 1 en la parte fraccionaria del número binario, si es menor a 1 se agrega un 0.
  • Después se vuelve a multiplicar por 2 a la parte fraccionaria del número que obtuvimos en la multiplicación anterior; si su resultado es mayor o igual a 1 se agrega un 1 en la parte fraccionaria del número binario, si es menor a 1 se agrega un 0.
  • Se repiten los pasos anteriores hasta quedarnos con 1,0 tras la última multiplicación. Si no se puede llegar a 1,0 se genera un número binario con dígitos periódicos o parte fraccionaria infinita.

 
Si queremos convertir 5,3125:
 
Primero convertimos la parte entera 5 a binario:
 
Utilizando uno de los métodos anteriores obtenemos 5 = 101 (binario).
 
Resutado parcial 101,........
 
Ahora continuamos con la parte fraccionaria 0,3125:
 
- Multiplicamos 0,3125 x 2 = 0,625 >> Resultado parcial 101,0
- Multiplicamos 0,625 x 2 = 1,25 >> Resultado parcial 101,01
- Quitamos o restamos 1 de 1,25 y nos quedamos con la parte fraccionaria 0,25
- Multiplicamos 0,25 x 2 = 0,5 >> Resultado parcial 101,010
- Multiplicamos 0,5 x 2 = 1,0 >> Resultado final 101,0101
 
Cada vez que obtenemos un producto mayor a 1, agregamos 1 en la parte fraccionaria del número binario y quitamos o restamos 1 del producto quedándonos solamente con la parte fraccionaria. Dicha parte fraccionaria debe ser multiplicada por 2 y se repite lo mismo de antes; si tenemos un producto menor a 1 se agrega 0 en la parte fraccionaria del número binario, de lo contrario agregamos 1 y restamos una unidad del producto obtenido y volvemos a multiplar por 2 su parte fraccionaria. Este proceso se repite hasta llegar a un producto igual a 1,0; con lo que la conversión a binario concluye.
 
-----------------------------------------------------------------------------------------------------
 
Vamos a convertir 2,125 a binario:
 
Primero hay que convertir la parte entera y seguimos con la parte fraccionaria:
 
2 >> Resultado parcial 10, (parte entera)
0,125 x 2 = 0,25 >> Resultado parcial 10,0
0,25 x 2 = 0,5 >> Resultado parcial 10,00
0,5 x 2 = 1,0 >> Resultado final 10,001
-----------------------------------------------------------------------------------------------------
 
Vamos a convertir 0,4 a binario:
 
0 >> Resultado parcial 0, (parte entera)
0,40 x 2 = 0,80 Resultado parcial 0,0
0,80 x 2 = 1,60 Resultado parcial 0,01
0,60 x 2 = 1,20 Resultado parcial 0,011
0,20 x 2 = 0,40 Resultado parcial 0,0110
0,40 x 2 = 0,80 Resultado parcial 0,01100
0,80 x 2 = 1,60 Resultado parcial 0,011001
0,60 x 2 = 1,20 Resultado parcial 0,0110011
0,20 x 2 = 0,40 Resultado parcial 0,01100110
0,40 x 2 = 0,80 Resultado parcial 0,011001100
0,80 x 2 = 1,60 Resultado parcial 0,0110011001
0,60 x 2 = 1,20 Resultado parcial 0,01100110011
0,20 x 2 = 0,40 Resultado parcial 0,011001100110
0,40 x 2 = 0,80 Resultado parcial 0,0110011001100
 
Como se puede ver, convertir 0,40 de decimal a binario, nos da un número periódico; en donde 0011 se repite indefinidamente. En este ejemplo llegamos hasta 0,0110011001100 que es igual a 0,39990234375. Cuanto más continuemos más nos acercaremos a 0,40; sin embargo como se trata de un número binario periódico, no importa la cantidad de dígitos fraccionarios, siempre se acercará a 0,40 pero no llegará a ser exactamente igual; por lo que se redondea luego de un cierto número de dígitos.
 
Esto se puede probar de la siguiente manera:
 
0,0110011001100 =(0 x 20) + (0 x 2-1) + (1 x 2-2) + (1 x 2-3) + (0 x 2-4) + (0 x 2-5) + (1 x 2-6) + (1 x 2-7) + (0 x 2-8) + (0 x 2-9) + (1 x 2-10) + (1 x 2-11) + (0 x 2-12) + (0 x 2-13)
 
= 0 + 0 + 0,25 + 0,125 + 0 + 0 + 0,015625 + 0,0078125 + 0 + 0 + 0,0009765625 + 0,00048828125 + 0 + 0
 
= 0,39990234375
 
Que se puede redondear a 0,4
-----------------------------------------------------------------------------------------------------
 
Vamos a convertir 4,04 a binario:
 
4 >> Resultado parcial 100, (parte entera)
0,04 x 2 = 0,08 Resultado parcial 100,0
0,08 x 2 = 0,16 Resultado parcial 100,00
0,16 x 2 = 0,32 Resultado parcial 100,000
0,32 x 2 = 0,64 Resultado parcial 100,0000
0,64 x 2 = 1,28 Resultado parcial 100,00001
0,28 x 2 = 0,56 Resultado parcial 100,000010
0,56 x 2 = 1,12 Resultado parcial 100,0000101
0,12 x 2 = 0,24 Resultado parcial 100,00001010
0,24 x 2 = 0,48 Resultado parcial 100,000010100
 
También se trata de un número con infinitos dígitos fraccionarios. Cuantos más dígitos hayan en la parte fraccionaria, más nos acercaremos a 0,04. Sin embargo dado que la cantidad de dígitos fraccionarios necesarios en sistema binario para llegar a dicho número es infinita, después de una cierta cantidad de dígitos que aproximen a un valor lo suficientemente cerca de 0,04 se debe redondear.
 
Pueden realizar la suma de factores (d x 2x), como se hizo antes; donde d es un dígito binario y x representa a los números de exponente. Incluso pueden intentar agregar más dígitos fraccionarios para acercarse más a 4,04 y después redondear.
 
-----------------------------------------------------------------------------------------------------
 
Ahora que ya saben cómo representar números con parte fraccionaria en sistema binario, vamos a terminar la última división realizada en la sección de dicho tipo de operación, la cual nos dejó un resto distinto a 0 y no la continuamos ya que su cociente completo sería un número fraccionario.
 
 
11001 / 10100 = (equivalente a 25 / 20 en decimal)
 

              | 10100
  1 1 0 0 1     |______________
- 1 0 1 0
0   0 0 0 0 1 , 0 1    
  ------------
                   
  0 0 1 0 1 0 0                  
      1 0 1 0 0                  
      ------------                  
      0 0 0 0 0                  

 

11001 / 10100 = 00001,01

 
Después de quedarnos con un resto de 101 (5 en decimal), agregamos un 0 en dicho resto y colocamos una coma en la parte del cociente. Tratamos de dividir 1010 entre 10100, pero como es menor no se puede, por lo que agregamos un 0 en la columna 2-1 del cociente para quedarnos con un resultado parcial de 00001,0. A continuación agregamos otro 0 en la parte del resto e intentamos dividirlo por su divisor 10100 / 10100, lo cual nos da 1 como resultado; que se agrega en la columna 2-2 del cociente y se multiplica por 10100 para dar obviamente 10100; se sustrae del resto dividendo para dar un resto final de 0. Así finaliza la operación con un cociente que incluye parte fraccionaria 00001,01. Se puede corroborar que es correcto, ya que 25 / 20 = 1,25.
 
-----------------------------------------------------------------------------------------------------
 
Una de las aplicaciones más importantes de los números binarios es la informática; ya que las computadoras están estructuradas en aquel sistema de numeración. Un artículo que explica la función del sistema binario en informática es Qué son los bytes y los bits.


Sé el primero al que le gusta

Compartir
Artículos Relacionados

Publicaciones recomendadas

Comentarios

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
Comentarios con Facebook