Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 21-12-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por kalimero
Caption := FloatToStr(1/0);
¿Te has fijado en lo que aparece en el caption?

El compilador interpreta 1/0 como la constante INFINITY. INFINITY y NAN (not a number) son valores especiales que define la FPU del procesador.

Según parece, Delphi siempre va a generar una excepción cuando este tipo de valores ocurran, a menos, claro, que el compilador mismo detecte que es una de ellas.

En X/0 no puede determinarlo pues dependiendo del valor de X se obtiene INFINITY o NAN.

Pero esto tiene que ver con la forma en que el FPU trata este tipo de valores. Si pones

Código Delphi [-]
var
  X: Double;

begin
  { de la unidad Math                               }
  {                                                 }
  { de acuerdo a la ayuda de Delphi, esto hace que  }
  { la FPU no genere una excepción y en su lugar    }
  { produzca INFINITY                               }
  SetExceptionMask([exZeroDivide]);

  X := 1;
  Caption := FloatToStr(X/0);
end;

verás que ya no salta la excepción y aparece 'INF' en el caption.

// Saludos
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:12:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi