Representar numero binario con decimales

Hola experto, antes que nada agradezco tu disposición para con los usuarios, mi consulta es la siguiente:

Cuando tengo que representar un numero que tiene decimales en binario, como se hasta cuando tengo que multiplicar por 2 la parte decimal?

Ejemplo: pasar a binario 6.83

0,83 · 2 = 1,66 => 1
0,66 · 2 = 1,32 => 1
0,32 · 2 = 0,64 => 0
0,64 · 2 = 1,28 => 1
0,28 · 2 = 0,56 => 0
0,56 · 2 = 1,12 => 1
0,12 · 2 = 0,24 => 0
0,24 · 2 = 0,48 => 0
0,48 · 2 = 0,96 => 0
0,96 · 2 = 1,92 => 1
0,92 · 2 = 1,84 => 1
0,84 · 2 = 1,68 => 1

Se me ocurre que de acuerdo al numero de bits que lo quiero representar (4,8,16,32,64) o estoy equivocada?

Desde ya muchas gracias!!!

1 Respuesta

Respuesta
1

No entiendo muy bien la pregunta.

Al representar un número decimal en binario puede ser que tenga infinitas cifras decimales. Vamos, lo más normal es que tenga infinitas cifras decimales, con lo cual tendrás que decidir cuantos decimales pones y cortar por ahí. También puede haber ciclos al igual que en los decimales de números en base 10. Si en algún momento vuelves a la misma expresión decimal con l a que empezaste será un binario periódico puro y si llegas a una expresión intermedia será un binario periódico mixto.

Respecto a que decimales te van a dar un número exacto son estos

Si hay un decimal tiene que ser el 5

Si son dos decimales tiene que ser 25, 50 o 75

Si son tres 125, 250, 375, 500, 625, 750 o 875

Si son cuatro son 625 y su sus múltiplos hasta 9375

En general para n decimales el número formado por ellos debe ser múltiplo de 5^n para que el número tenga un número finito de decimales en base 2

No sé si era esto lo que querías. Es algo que no había estudiado, lo he ideado sobre la marcha

Gracias por responder, o sea como ejemplo si yo tengo el número 6.83 para convertir a binario. Elijo cortarlo en la segunda multiplicación:

0,83 · 2 = 1,66 => 1
0,66 · 2 = 1,32 => 1

Me queda el 6.83 en binario: 110.11

Si yo convierto ese valor de 110.11 en decimal me da 6.75. Es exacta la conversión en ambos sentidos?

Gracias por responder!!

Si, esa es la cuenta. Lo que pasa cada dígito binario aporta mucha menos información que un decimal, por eso se produce tanta diferencia al volver a convertirlo. Para tener una presión equivalente a dos decimales en base diez se necesitan entre 6 y 7 decimales en binario ya que

2^6 = 64

2^7 = 128

Para la precisión equivalente a tres decimales en base 10 se necesitan 10 en base 2 ya que

2^10 = 1024

Tomando 6 decimales tendremos

0.83 · 2 = 1.66 => 1

0.66 · 2 = 1.32 => 1

0.32 · 2 = 0.64 => 0

0.64 · 2 = 1.28 => 1

0.28 · 2 = 0.56 => 0

0.56 · 2 = 1.12 => 1

6.83 = 110.110101 en base dos (no es un igual, es un aproximadamente)

110.110101 = 6.828125

Y ya no es tan escandalosa la diferencia como con dos decimales solo.

Me interesaba haber llegado a definir el periodo de ese número pero parece que es largo.

6.83 = 110.110101 (00011110101110000101)...

Si no me he equivocado en las cuentas ese es el número, entre paréntesis va el periodo que se repetirá en adelante.

SE justifica porque el séptimo decimal se obtenía del 0,24 y

0.24 · 2^20 = 251658.24

Toda la parte entera habrá desaparecido y volverá a repetirse el ciclo de 20 decimales a partir del séptimo.

No veo tan sencillo el predecir como será el ciclo de un numero decimal al pasarlo a binario, pero puede hacerse si se estudia a fondo.

Y eso es todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas