Dominio
de valores
Es el
conjunto R.
En
realidad, se trata de un subconjunto de R, ya que R es un conjunto infinito y
no se pueden representar todos los números reales. Dependerá de cuántos bits se
utilicen para su representación. Además ni siquiera se pueden representar todos
los números reales que se encuentran entre dos números cualesquiera porque
también hay infinitos. Esto no ocurría con los números enteros donde se podían
representar todos los números comprendidos en un intervalo.
Representación
interna
¿Cómo
representar los números reales? Si se decide representar todos los números
reales con un número fijo de decimales. Por ejemplo, se podrían representar
todos los números reales con 3 cifras en la parte entera y 2 decimales. A esto
se le llama una representación en coma fija ya que se utilizan un
número fijo de decimales.
Esta
representación no es buena porque no permite representar números muy cercanos
al cero lo cual puede producir errores muy grandes:
Ejemplo:
Trabajando con los números anteriores (que sólo permiten 2 decimales), al
calcular el 1 por mil de 999 (que es 0,999) podría dar que es 0.
Por
ello se utiliza una representación en coma flotante, donde se pueden
representar números muy pequeños cercanos al cero y números muy grandes. Un
número real se representa con dos números enteros: uno que es la mantisa (que
contiene los dígitos significativos) y otro que es el exponente (que determina
la posición de la coma)
Todo
número real se puede representar así: Mantisa * 10 ^ Exponente
Se
pueden representar números muy pequeños (cercanos al cero) y números muy
grandes, pero la precisión es mucho mayor en números cercanos al cero que en
números muy grandes. Por lo tanto se puede representar cualquier número real
con dos números enteros (que por supuesto se pueden representar en complemento
a dos).
Representación externa y definición en Java
En
Java hay varios tipos de datos de tipo real que se diferencian en la precisión
de cada uno de ellos.
El
número de bits empleado para cada uno de ellos depende del compilador
tipo float con
precisión normal →habitualmente 32 bits repartidos entre mantisa y
exponente
tipo double con
doble precisión →habitualmente 64 bits repartidos entre mantisa y
exponente
Constantes
de tipo double:
- Utilizando el punto decimal.
Ejemplos: 23.435, -35.123
- Utilizando la notación científica.
Ejemplo: 234.43e32 que representa el número 234.43 x 1032
3.43e-15 que representa el número 3.43 x 10-15
Constantes
de tipo float:
Son los mismas que las de tipo double, pero terminadas en f.
Por ejemplo: 23.435f, -35.123f, 234.43e32f, 3.43e-15f



No hay comentarios:
Publicar un comentario