Para convertir un número de sistema decimal (expresado con los dígitos 0123456789) a sistema binario (expresado con los dígitos 01), podemos utilizar el siguiente algoritmo si no tenemos una calculadora a mano.
Usaremos todo el tiempo la división euclídea. Recuérdala de la escuela primaria, es el de dividendo-divisor-cociente-resto. Y el algoritmo va a ser la siguiente lista de pasos.
- Toma tu número y divídelo entre 2.
- Tu resto será 0 o 1. Ese resto forma parte del número expresado en decimal. Anótalo porque luego los pondremos en orden.
- Toma el cociente (o sea, el resultado entero de la división) y repite el paso 1, vuélvelo a dividir entre 2.
- Continúa dividiendo cada cociente entre 2 hasta obtener 0 como cociente. Anota el resto de cada paso.
- Finalmente, tu número en decimal se corresponde con cada uno de los restos que has ido obteniendo, de abajo a arriba, es decir, empezando por el de la división más pequeña y terminando con el de la primera división que hiciste.
Ejemplos
Para convertir 23 a binario, lo dividiremos entre 2 para sacar cociente y resto.
23 : 2 -> cociente = 11, resto = 1
Me anoto el resto porque lo voy a necesitar más adelante, y continúo dividiendo los cocientes entre 2. Todo el rato voy a dividir el cociente entre 2, y luego el siguiente cociente otra vez por 2, hasta obtener el 0. Cuando tenga el 0, me detengo.
23 : 2 -> cociente = 11, resto = 1
11 : 2 -> cociente = 5, resto = 1
5 : 2 -> cociente = 2, resto = 1
2 : 2 -> cociente = 1, resto = 0
1 : 2 -> cociente = 0, resto = 1
Una vez haya llegado a 0, voy tomando los restos de abajo a arriba, es decir, desde el resto para la división con el dividendo más pequeño, y voy poniendo uno tras otro. Por ejemplo, en este caso, si leo los restos de abajo a arriba me sale: 1 0 1 1 1.
Esa cadena, 10111, es precisamente el número en binario, en este caso, el 23.
Otro ejemplo convirtiendo el 67 a binario:
67 : 2 -> cociente = 33, resto = 1
33 : 2 -> cociente = 16, resto = 1
16 : 2 -> cociente = 8, resto = 0
8 : 2 -> cociente = 4, resto = 0
4 : 2 -> cociente = 2, resto = 0
2 : 2 -> cociente = 1, resto = 0
1 : 2 -> cociente = 0, resto = 1
En este caso ha sido más fácil porque hay una cosa que deberías aprender a identificar para poder hacer esta conversión más rápido: siempre que tengas un valor que se corresponda con una potencia de 2, como es 16, que es 2 elevado a 4, ya a partir de ahí todos los restos van a ser siempre 0, hasta llegar a 1 : 2.
Finalmente, 67 convertido a binario es 1000011.
Un ejemplo un poco más intenso: 1341:
1341 : 2 → cociente = 670, resto = 1
670 : 2 → cociente = 335, resto = 0
335 : 2 → cociente = 167, resto = 1
167 : 2 → cociente = 83, resto = 1
83 : 2 → cociente = 41, resto = 1
41 : 2 → cociente = 20, resto = 1
20 : 2 → cociente = 10, resto = 0
10 : 2 → cociente = 5, resto = 0
5 : 2 → cociente = 2, resto = 1
2 : 2 → cociente = 1, resto = 0
1 : 2 → cociente = 0, resto = 1
Por lo que 1341 en binario es el 10100111101