1. Convertir un número
decimal a binario con punto
flotante
Instituto Tecnológico de Costa Rica/Sede Central
Escuela de Ingeniería en Computación
Curso de Taller de Programación
Profesora: Ericka Solano Fernández
Estudiante: Pedro Rodríguez de Oliveira
Carnet: 2013086585
II Semestre, 2013
2. Cuando tenemos un número decimal con punto flotante (mejor conocido
como la coma) y lo deseamos convertir en un número binario, lo que se debe
realizar es separar la parte entera y la parte decimal, la cual llamaremos parte
flotante durante esta presentación, de tal número.
Por ejemplo, tomaremos el número 36,375.
De ahí, el procedimiento consta en separar el 36 y el 0,375 de dicho número.
Al convertir 36 en binario, obtendríamos el número 10010 (25+22 o 32+4)
3. Ahora, con el 0.375, haremos un serie de multiplicaciones por dos, donde el fin de
tal serie será cuando obtengamos como resultado 1 o 1.000 en este caso.
Cabe destacar que es necesario subrayar la parte entera obtenida (sea 0 o 1),
porque la necesitaremos apenas finalice la serie de multiplicaciones.
0.375x2=0.75 (No obtuvimos el 1.00, por lo tanto, seguimos la serie tomando el
número obtenido en la multiplicación)
0.75x2=1.5 (Tampoco obtuvimos el 1.00. En este caso, como obtuvimos en la parte
entera un uno, le restaremos a ese número una unidad (1.5-1.0) y trabajaremos con
lo obtenido en dicha resta para la próxima multiplicación (0.5))
0.5x2=1.00 (Hemos llegado al resultado)
4. Analizando los números obtenidos en la serie de multiplicaciones (0.75, 1.5
y 1.0), vamos a lo importante!
Tomamos en cuenta el 10010 (36 en binario) y ahora le sumaremos su parte
flotante (la obtenida en la serie). En este caso tomaremos en cuenta el
número rojo subrayado. En orden, agarraremos (en el orden izquierdaderecha) estos números rojos y los convertiremos en uno solo. En este caso,
obtuvimos 011.
Ahora uniremos la parte entera con la parte flotante y el número obtenido
será 10010.011.
Entonces 36.375decimal=10010.011binario
5. Muchas veces no corremos con la suerte que el resultado en la serie de
multiplicaciones nos venga a dar como resultado 1.00. Para este caso, están
los dígitos de precisión.
Con los dígitos de precisión, más dígitos hayan en la parte flotante, más
cercano será ese al número decimal.
Por ejemplo, trabajaremos con el número 0.36
6. Aquí empezaremos la serie de multiplicaciones:
0.36x2=0.72 *
0.28x2=0.56
0.72x2=1.44
0.56x2=1.12
0.44x2=0.88
0.12x2=0.24
0.88x2=1.76
0.24x2=0.48
0.76x2=1.52
0.48x2=0.96
0.52x2=1.04
0.96x2=1.92
0.04x2=0.08
0.92x2=1.84
0.08x2=0.16
0.84x2=1.68
0.16x2=0.32
0.68x2=1.36
0.32x2=0.64
0.36x2=0.72 **
0.64x2=1.28
… (Y así sucesivamente)
Como pueden observar, la primera operación de la serie (*) se repite con la
última operación (**). Esto es conocido como un número periódico, por lo
cual de ahí se repetirán los decimales sin fin, indicando que la serie nunca
llegará a finalizar.
7. De aquí, hay dos maneras de das el resultado:
Dígitos de Precisión: En este caso daremos el resultado con 6 dígitos de
precisión, por lo cual tomaremos los 6 primeros resultados de la serie: 0.72, 1.44,
0.88, 1.76, 1.52 y 1.04.
Ahora tomamos los números rojos subrayados, de izquierda a derecha, y lo
transformaremos en un número: 010111. Como es 0.36, la parte entera sería igual a 0
Con esto, 0.36decimal ≈ 0.010111binario
Si lo convertimos a decimal, esto será igual a 2-2+2-4+2-5+2-6=0.359375, que es
cercano a 0.36.
8. Dígitos periódicos: Tomaremos todos los resultados que se encuentran en la
serie formada anteriormente, excepto el último, porque se repite con el
primero.
Los resultados son: 0.72, 1.44, 0.88, 1.76, 1.52, 1.04, 0.08, 0.16, 0.32, 0.64, 1.28,
0.56, 1.12, 0.24, 0.48, 0.96, 1.92, 1.84, 1.68, 0.36.
Con esto formamos el número 01011100001010001110 y obtenemos que
0.36decimal ≈ 0. 01011100001010001110 binario
Si lo convertimos a decimal, esto será igual a 0.359998703, lo cual es más
preciso que el resultado con 6 dígitos de precisión.