Conversión de números fraccionarios entre sistemas numéricos

Esta calculadora en línea ayuda a convertir números fraccionarios de un sistema numérico a un número fraccionario en otro sistema numérico.

Luego de hacer varias calculadoras para varias conversiones de sistemas numéricos (de la más simple a la más avanzada: Convertir un número decimal a otras notaciones, Conversiones del sistema numérico decimal, Conversión entre dos sistemas de numeración ) - los usuarios me preguntaban que debían hacer sobre los números fraccionarios, ¿Cómo los convertían) Así que decidí hacer otra calculadora, que también pueda convertir números fraccionarios entre distintos sistemas numéricos.

Como de costumbre, coloqué teoría debajo de la calculadora

Creada en PLANETCALC

Conversión de números fraccionarios entre sistemas numéricos

Base del sistema numérico original

Base del sistema numérico resultante

Dígitos después del punto decimal: 8
Numero resultante
 
Detalles de conversión
 
Número original (decimal)
 
Número resultante (decimal)
 
Error de conversión (decimal)
 
Máximo error de conversión posible (decimal)
 

Está bien, solía pensar que la conversión de números fraccionarios era algo difícil, pero resulta que es bastante fácil de comprender. Sólo debemos recordar que estamos tratando con un sistema numérico de posición.

Déjenme mostrarles un ejemplo. Observemos el número decimal 6.125. Lo podemos escribir de esta manera:

6.125=6*10^0 + 1*10^{-1}+2*10^{-2}+5*10^{-3}=6*1+\frac{1}{10}+\frac{2}{100}+\frac{5}{1000}

Fácil de comprender, ¿Cierto? Pero es igual para cualquier otro sistema numérico de posición. Por ejemplo, el infame sistema binario y el número fraccionario 110.001. Lo podemos escribir de esta manera:

110.001=1*2^2 + 1*2^1+0*2^0+0*2^{-1}+0*2^{-2}+1*2^{-3}=1*4+1*2+0*1+\frac{0}{2}+\frac{0}{4}+\frac{1}{8}=6+\frac{1}{8}=6.125

Si, lo logré. El número binario 100.001 es el número decimal 6.125. ¿No es fácil?

Pero, debemos tener cuidado. Como estamos tratando con fracciones y los denominadores son distintos, no siempre podemos mantener la misma precisión entre varios sistemas numéricos.

De nuevo, déjenme mostrarles un ejemplo. Observemos el número decimal 0.8

0.8=0+\frac{8}{10}.

Todo está bien... en el sistema numérico decimal. Pero en el sistema numérico binario vamos a tener problemas. Observemos esto:

0+\frac{1}{2}+\frac{1}{4}+\frac{0}{8}+\frac{0}{16}+\frac{1}{32}+\frac{1}{64}+...=0 + 0.5 + 0.25+0.03125+0.015625+...=0.796875+...

Podríamos seguir, pero incluso ahora se puede ver que el decimal 0.8 es el binario 0.11001100 ... (Y muchos más dígitos). No estoy seguro de poder encontrar el número exacto de dígitos binarios para escribir 0.8 con completa precisión.

Por eso es que la conversión de números fraccionarios de vez en cuando nos da errores. El error depende en la cantidad de dígitos luego de la coma que decidamos utilizar. Por ejemplo, convirtamos el decimal 0.8 a binario y utilicemos 6 dígitos luego de la coma. Obtendríamos 0.110011. Pero este número no es el decimal 0.8, en realidad es 0.796875, la diferencia es de 0.003125. Y es el error que obtendríamos al convertir el decimal 0.8 a binario con 6 dígitos de precisión.

El valor del dígito más a la derecha se llama resolución or precisión, y define el número diferente a cero más pequeño posible que pueda ser representado con esta cantidad de dígitos. En nuestro ejemplo sería 2^{-6}=0.015625. Y el máximo posible error de conversión en tal caso sería la mitad, o 0.0078125. Observen que nuestro error de conversión para 0.8 no es tan grave comparado con el máximo error posible.

Eso es todo.

Comentarios