martes, 21 de enero de 2020

Conversión de un número dado en el sistema de numeración decimal al sistema binario

En ingeniería electrónica y computación es importante saber expresar un número (dado en el sistema de numeración decimal) en el sistema binario. El sistema binario consta de sólo dos caracteres 'alfabéticos', el 0 y el 1. Cada uno de estos dos valores da nombre a la unidad de información matemática, el bit ( del inglés, 'binary unit' ).

Así, concatenando los signos básicos, podemos decir que
$0_{10}=0_{2}$
$1_{10}=1_{2}$
$2_{10}=10_{2}$
$3_{10}=11_{2}$
$4_{10}=100_{2}$
$\vdots$

Démonos cuenta de que ésto es así porqué, al expresar los números en suma de potencias de base 2, efectivamente se obtienen los números en base 10; por ejemplo:
$100_{2}=1\cdot 2^2+0\cdot 2^1+0\cdot 2^0=4+0+0=4_{10}$

Nos interesa, ahora, asentar un procedimiento que permita la transformación de decimal a binario a partir de un número arbitrariamente grande, y no sólo uno de los números pequeños a los que nos hemos referido arriba como ejemplos; así, por ejemplo:

$19_{10}=\square\,\square\,\ldots\,\square_{2}$
Observemos que al efectuar la división entera $17$ entre $2$ ( que es el número de símbolos del 'alfabeto' binario ) obtenemos ( por el teorema de la división entera):
$19=9\cdot 2 +1$
y dividiendo otra vez,
$9=4\cdot 2 +1$
y seguimos ...
$4=2\cdot 2 +0$
hasta que, finalmente, llegamos a la última división posible,
$2=1\cdot 2 +0$

Pues, bien, concatenando los unos y ceros que se obtienen empezando por el cociente de la última división, y, siguiendo la concatenación con los restos, desde la última división a la primera ( de bits menos significativos a bits más significativos ), resulta:
$$19_{10}=10011_{2}$$
Cualquier número expresado en base 10 se convierte, siguiendo este algoritmo, en su expresión en base 2.

Comprobémoslo, en el ejemplo expuesto, escribiendo el desarrollo en sumas de potencias de base 2, para ver si obtenemos el número dado expresado en base 10. En efecto,
$$10011_{2}=1\cdot 2^4+0\cdot 2^3+0\cdot 2^2+1\cdot 2^1+1\cdot 2^0=16+0+0+2+1=19_{10}$$
$\square$


No hay comentarios:

Publicar un comentario

Gracias por tus comentarios