Diferencia entre revisiones de «Tipo de dato real»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Sin resumen de edición
Diegusjaimes (discusión · contribs.)
m Revertidos los cambios de 200.36.49.230 a la última edición de Jesuja
Línea 32: Línea 32:
* [[División (matemática)|División]]
* [[División (matemática)|División]]


El desbordamiento (''overflow'')
== El desbordamiento (''overflow'') ==
Cuando operando con número reales en un programa de ordenador ocurre que se intenta asignar a una variable un valor que está fuera del rango de los valores que se pueden representar se produce un fallo que se conoce con el nombre de [[desbordamiento]] (''overflow'' en [[idioma inglés|inglés]]). Cuando esto ocurre lo habitual es que el programa siga funcionando como si nada hubiera pasado, pero el valor desbordado se habrá convertido en un valor indeterminado con lo que las operaciones posteriores en las que este valor intervenga producirán resultados incorrectos.
Cuando operando con número reales en un programa de ordenador ocurre que se intenta asignar a una variable un valor que está fuera del rango de los valores que se pueden representar se produce un fallo que se conoce con el nombre de [[desbordamiento]] (''overflow'' en [[idioma inglés|inglés]]). Cuando esto ocurre lo habitual es que el programa siga funcionando como si nada hubiera pasado, pero el valor desbordado se habrá convertido en un valor indeterminado con lo que las operaciones posteriores en las que este valor intervenga producirán resultados incorrectos.


==Véase también
==Véase también==
*[[Tipo de dato]]
*[[Tipo de dato]]
*[[Tipo Ordinal]]
*[[Tipo Ordinal]]

Revisión del 16:58 22 ene 2010

El tipo de dato real define un conjunto de números que pueden ser representados con la notación de coma flotante.

Al igual que los números enteros, el tipo real está limitado superior e inferiormente según la cantidad de memoria que haya disponible para almacenarlo. Otro elemento importante a tener en cuenta en este tipo de datos es la precisión con que pueden representar número con decimales (cuantos decimales se pueden representar), esta característica también está directamente relacionada con la cantidad de memoria disponible para almacenar un valor real.

A modo de ejemplo, en la tabla siguiente se muestran los rangos así como los formatos de almacenamiento para los tipos reales fundamentales para un determinado lenguaje de programación.

Tipos reales fundamentales en Pascal:

 Tipo      Rango                                        Dígitos          Tamaño
                                                        significativos   en bytes
 ---------------------------------------------------------------------------------
 Real48    2.9 x 10^-39          .. 1.7 x 10^38                11 – 12          6
 Single    1.5 x 10^–45          .. 3.4 x 10^38                 7 –  8          4
 Double    5.0 x 10^–324         .. 1.7 x 10^308               15 – 16          8
 Extended  3.6 x 10^–4951        .. 1.1 x 10^4932              19 – 20         10
 Comp      –2^63+1               .. 2^63 –1                    19 – 20          8
 Currency  –922337203685477.5808 .. 922337203685477.5807       19 – 20          8

Cuando la precisión que admite un valor real es rebasada el valor de este trunca o se redondea. Por ejemplo si el máximo número de dígitos decimales que puede albergar un tipo real es 10 la siguiente operación:

a = 123,123456789 / 100

debería dar como resultado que a es igual a 1,23123456789, pero este valor tiene 11 decimales, por lo que el valor de a será uno de estos:

Operaciones

Las típicas operaciones aritméticas:

El desbordamiento (overflow)

Cuando operando con número reales en un programa de ordenador ocurre que se intenta asignar a una variable un valor que está fuera del rango de los valores que se pueden representar se produce un fallo que se conoce con el nombre de desbordamiento (overflow en inglés). Cuando esto ocurre lo habitual es que el programa siga funcionando como si nada hubiera pasado, pero el valor desbordado se habrá convertido en un valor indeterminado con lo que las operaciones posteriores en las que este valor intervenga producirán resultados incorrectos.

Véase también