3.9 Aritmética de Punto Flotante

 

 

La aritmética de punto flotante en un computador diferente que en la matemática continúa. En las matemáticas, todos los números pueden ser considerados exactos. Como se muestra en la sección anterior, en un computador muchos números no se pueden representar exactamente con un número finito de bits. Todos los cálculos se realizan con una precisión limitada. En los ejemplos de esta sección, se usaran números con una mantisa de 8 bits por simplicidad.

 

Suma

 

Para sumar dos números de punto flotante, los exponentes deben ser iguales. Si ellos, no son iguales, entonces ellos se deben hacer iguales, desplazando la mantisa del número con el exponente más pequeño. Por ejemplo, considere 10,375 + 6,34375 = 16,71875 o en binario:

 

 

Estos dos números no tienen el mismo exponente así que se desplaza la mantisa para hacer iguales los exponentes y entonces sumar:

 


 

Observe que el desplazamiento de 1,1001011 × 2^2 pierde el uno delantero y luego de redondear el resultado se convierte en 0,1100110×2^3. El resultado de la suma, 10,0001100×2^3 (o 1,00001100×2^4) es igual a 10000,1102 o 16.75. Esto no es igual a la respuesta exacta (16.71875) Es sólo una aproximación debido al error del redondeo del proceso de la suma.

 

Es importante tener en cuenta que la aritmética de punto flotante en un computador (o calculadora) es siempre una aproximación. Las leyes de las matemáticas no siempre funcionan con números de punto flotante en un computador. Las matemáticas asumen una precisión infinita que un computador no puede alcanzar. Por ejemplo, las matemáticas enseñan que (a+b)−b = a; sin embargo, esto puede ser exactamente cierto en un computador.

 

Resta

 

La resta trabaja muy similar y tiene los mismos problemas que la suma.

 

Considere como un ejemplo 16,75 − 15,9375 = 0,8125:

 


 

 

 

Multiplicación y división

 

Para la multiplicación, las mantisas son multiplicadas y los exponentes son sumados. Considere 10,375 × 2,5 = 25,9375:

 

Claro está, el resultado real podría ser redondeado a 8 bits para dar:

1,1010000 × 2^4 = 11010,0002 = 26

La división es más complicada, pero tiene problemas similares con errores de redondeo.

 

 

Inicio