Tema: double
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/09/2010, 07:29
Avatar de r0d
r0d
 
Fecha de Ingreso: noviembre-2007
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: double

Hola,

un error bastante comùn a proposito de los tipos en C y en C++ es que nigùn estandar especifica explicitamente el tamaño (en bit) de cada tipo nativo. La razón es una cuestion de que el C y el C++ puedan ser utilizados en varios sistemas, independientamente del bus (por ejemplo, si trabajamos en un symbian 4 bit - en un telefono movil por ejemplo - no tiene sentido decir que un double es de 64 bits). Es importante entender que este tipo de cosas muy precisas están de la responsabilidad de la implementación (del compilador o de la librearia estandar), pero no del estandar mismo. Lo que es imporante aquí es la distinction entre el estandar y su implementación.

Por ejemplo, en el estandar C++03, la unica referencia al tamaño de los tipos flotantes es el capitulo 3-9-1-8:
Cita:
There are three floating point types: float, double, and long double. The type double provides at least as much precision as float, and the type long double provides at least as much precision as double. The set of values of the type float is a subset of the set of values of the type double; the set
of values of the type double is a subset of the set of values of the type long double. The value representation of floating point types is implementation defined.
Integral and floating types are collectively called arithmetic types. Specializations of the standard template numeric_limits (18.2) shall specify the maximum and minimum values of each arithmetic type for an implementation.
He puesto en negrita la parte que me parece resumir todo: "la representación de los tipos flotantes está definida por la implementacón" (y no por el estandar).

Es por está razón que es recomendable utilizar las variables globales de la cabecera <numeric_limits>, de manera que nuestro codigo funcione en cualquier implementación (libreria estandar y compilador).

Espero que me explico.
__________________
Alicia: Sólo quiero saber que camino debo tomar.
Gato risón: Pues... depende mucho de donde quieras ir.

Mi página web