Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Números reales
Fracciones binarias
Cómo funcionan?
Como programador, deberías estar familiarizado con el concepto de enteros binarios, esto es, la
representación de números enteros como series de bits:
1 ⋅ 10 + 3 ⋅ 1 = 1310 = 11012 = 1 ⋅ 8 + 1 ⋅ 4 + 0 ⋅ 2 + 1 ⋅ 1
Aunque funcionan igual en principio, las fracciones binarias son diferentes a las fracciones decimales
en qué números que se pueden representar con precisión dado un número de dígitos, y por tanto
también en qué números resultan en errores de redondeo concretamente, en binario solo se pueden
representar como una fracción finita aquellos números en los que el denominador es una potencia de
2. Por desgracia, esto no incluye la mayoría de los números que pueden ser representados como una
fracción finita en base 10, como 0.1.
Y así es como ya obtienes un error de redondeo con solamente escribir un número como 0.1 y
pasarlo por tu intérprete o compilador. No es tan grande como 3/80 y puede ser invisible porque los
ordenadores cortan después de 23 o 52 dígitos binarios en vez de 4. Pero el error está ahí
y causará problemas eventualmente si simplemente se ignora.
En el nivel más inferior, los ordenadores están basados en miles de millones de elementos eléctricos
que tienen dos estados (normalmente baja y alta tensión). Interpretándolos como 0 y 1, es muy fácil
construir circuitos para almacenar números binarios y hacer cálculos con ellos.
Mientras que es posible simular el comportamiento de los números decimales con circuitos binarios
también, es menos eficiente. Si los ordenadores usaran números decimales internamente, tendrían
menos memoria y serían más lentos con el mismo nivel de tecnología.
Para un ingeniero construyendo una autopista, no importa si tiene 10 metros o 10,0001 metros
de ancho ─ posiblemente ni siquiera sus mediciones eran así de precisas.
Para alguien diseñando un microchip, 0.0001 metros (la décima parte de un milímetro) es una
diferencia enorme ─ pero nunca tendrá que manejar distancias mayores de 0.1 metros.
Un físico necesita usar la velocidad de la luz (más o menos 300000000) y la constante de
gravitación universal (más o menos 0.0000000000667) juntas en el mismo cálculo.
Para satisfacer al ingeniero y al diseñador de circuitos integrados, el formato tiene que ser preciso
para números de órdenes de magnitud muy diferentes. Sin embargo, solo se necesita
precisión relativa(coherente). Para satisfacer al físico, debe ser posible hacer cálculos que involucren
números de órdenes muy dispares.
Una mantisa (también llamada coeficiente o significando) que contiene los dígitos del número.
Mantisas negativas representan números negativos.
Un exponente que indica dónde se coloca el punto decimal (o binario) en relación al inicio de
la mantisa. Exponentes negativos representan números menores que uno.
Los números de coma flotante decimales normalmente se expresan en notación científica con un punto
explícito siempre entre el primer y el segundo dígitos. El exponente o bien se escribe explícitamente
incluyendo la base, o se usa una e para separarlo de la mantisa.
Mantisa Exponente Notación científica Valor en punto fijo
1.5 4 1.5 ⋅ 104 15000
-2.001 2 -2.001 ⋅ 102 -200.1
5 -3 5 ⋅ 10-3 0.005
6.667 -11 6.667e-11 0.0000000000667
Cuando trabajan con números muy grandes o muy pequeños, los científicos, matemáticos e ingenieros
usan notación científica para expresar esas cantidades. La notación científica es una abreviación
matemática, basada en la idea de que es más fácil leer un exponente que contar muchos ceros en un
número. Números muy grandes o muy pequeños necesitan menos espacio cuando son escritos en
notación científica porque los valores de posición están expresados como potencias de 10. Cálculos
con números largos son más fáciles de hacer cuando se usa notación científica.
Nota que es el exponente el que nos dice si el término es un número muy grande o muy pequeño. Si el número
es ≥ 1 en la notación decimal estándar, el exponente será ≥ 0 en notación científica. En otras palabras,
números grandes requieren potencias positivas de 10.
Si un número está entre 0 y 1 en notación estándar, el exponente será < 0 en notación científica. Números
pequeños son descritos por potencias negativas de 10.
no 1/2 no es un entero
Ejercicios
1. ¿Cuál de los siguientes números está escrito en el formato de notación científica?
A) 4.25 x 100.08
B) 0.425 x 107
C) 42.5 x 105
D) 4.25 x 106
2. ¿Del punto anterior Explique por qué no es notación científica, en los puntos que encontró incorrectos?
Respuesta
A) Incorrecto. El exponente debe ser un entero y 0.08 no es un entero. La respuesta correcta es 4.25 x 106.
B) Incorrecto. Esta no es la forma apropiada porque 0.425 es menor que 1. La respuesta correcta es 4.25 x
106.
C) Incorrecto. Esta no es la forma apropiada porque 42.5 es mayor que 10. La respuesta correcta es 4.25 x
106.
D) Correcto. Este número refleja el formato apropiado porque 4.25 es mayor que 1 y menor que 10 y 6 es un
entero.
También podemos ir al revés — números escritos en notación científica pueden ser trasladados a notación
decimal. Por ejemplo, un átomo de hidrógeno tiene un diámetro de 5 x 10-8 mm. Para escribir este número en
notación decimal, convertimos la potencia de 10 en una serie de ceros entre el número y el punto decimal. Como
el exponente es negativo, todos esos ceros van a la izquierda del número 5:
5 x 10-8
5.
0.5
0.05
0.005
0.0005
0.00005
0.000005
0.0000005
0.00000005
Por cada potencia de 10, movemos el punto decimal un lugar hacia la derecha, Tenga cuidado aquí y no se
deje llevar por los ceros — el número de ceros después del punto decimal siempre será 1 menos que el
exponente. Se necesita una potencia de 10 para mover el punto decimal a la izquierda del primer número.
Ejercicio
Escriba 1.57 x 10-10 en notación decimal.
Respuesta
0.000000000157
Precisión
32 23 + 1 signo 8 ~1.2 ⋅ 10-38 ~3.4 ⋅ 1038
sencilla
Precisión
64 52 + 1 signo 11 ~5.0 ⋅ 10-324 ~1.8 ⋅ 10308
doble
La secuencia de bits es primero el bit del signo, seguido del exponente y finalmente los bits
significativos(mantisa).
El exponente no tiene signo; en su lugar se le resta un desplazamiento (127 para sencilla y
1023 para doble precisión). Esto, junto con la secuencia de bits, permite que los números de
punto flotante se puedan comparar y ordenar correctamente incluso cuando se interpretan
como enteros.
Se asume que el bit más significativo de la mantisa es 1 y se omite, excepto para casos
especiales.
Hay valores diferentes para cero positivo y cero negativos. Estos difieren en el bit del signo,
mientras que todos los demás son 0. Deben ser considerados iguales aunque sus secuencias
de bits sean diferentes.
Hay valores especiales no numéricos (NaN, «not a number» en inglés) en los que el
exponente es todo unos y la mantisa no es todo ceros. Estos valores representan el resultado
de algunas operaciones indefinidas (como multiplicar 0 por infinito, operaciones que
involucren NaN, o casos específicos). Incluso valores NaN con idéntica secuencia de
bits no deben ser considerados iguales.
Ejemplo
Numero = -118,625 para 32 bits
2. Normalización de la mantisa:
1110110
Armamos el binario tomando la parte entera en el mismo orden de los cálculos, 101
1110110,101
Con el nuevo binario corremos la coma decimal de la parte entera hasta que solo
haya antes de esta un solo digito;
Determinar la Mantisa toda la parte que nos quedó después de la coma 1,110110
101
Ya tenemos 6 que lo encontramos en los pasos anteriores, sumas 6+127 siendo 127 el
estándar de presión para 8 bit; 133
1. Determinamos el signo
Como el primer digito es uno el número que buscamos es negativo, si el primer digito
resultara cero sería positivo
10000101
Sumamos
128 0 0 0 0 4 0 1 133
siendo 127 el estándar de presión para 8 bit, restamos de 133-127=6
111011010100000000000000
1,110110 101
1 110110,101
1. 1. 2. 2 3 4 5 6 7 8 9 10
1*2^6+ 1*2^5+ 1*2^4+ 0*2^3+ 1*2^2+ 1*2^1+ 0*2^0+ 1*2^- 0*2^-2+ 1*2^-
1+ 3+
Sumamos
64 32 16 0 4 2 0 0,5 0 0,125 118,625
-118,625
Ejemplo
101000001
011101001
101000001, 011101001
4. Obtener la mantisa
Con el nuevo binario corremos la coma decimal de la parte entera hasta que solo haya antes
de esta un solo digito; 1,01000001011101001 para nuestro caso es 8
5. Encontrar el exponente
0 10000000111 0100000101110100100000000000000000000000000000000000