[C con Clase] Problema con uniones, variables de punto flotante y printf

Sebastian Golbert s_golbert en yahoo.com.ar
Sab Mar 17 22:10:16 CET 2007


Como andan, les comento que hice un programa que prueba distintas salidas
con formato para valores de punto flotante. Lo hice con una union que
contiene los distintos tipos de valores flotantes y también con las mismas
variables definidas como tales.
El problema es que en algunos casos la salida con formato no coincide cuando
le pongo que me tire el formato del mismo tipo de la variable, y además hay
diferencias con la variable común y la que es del tipo union.
Adjunto código fuente y salida. Como no se si se permite adjuntar en la
lista por las dudas pego el código en el cuerpo del mail:
 
#include <stdio.h>
 
Union flotante {
      float f;
      double d;
      long double ld;
      };
 

int main(void)
{
    union flotante seba, seba2, seba3;
    float f;
    double d;
    long double ld;
    
    seba.f = f = 3.141516;
    
    printf ("\nPara tipo float:\nFloat %f\nDouble %lf\nLong Double %Lf\n",
    seba, seba, seba);
    
    printf ("\nPara tipo float:\nFloat %f\nDouble %lf\nLong Double %Lf\n",
    f, f, f);
    
    seba2.d = d = 3.141516;
    
    printf ("\nPara tipo double:\nFloat %f\nDouble %lf\nLong Double %Lf\n",
    seba2, seba2, seba2);
 
    printf ("\nPara tipo double:\nFloat %f\nDouble %lf\nLong Double %Lf\n",
    d, d, d);
    
    seba3.ld = ld = 2.00004;
    
    printf ("\nPara tipo long double:\nFloat %f\nDouble %lf\nLong Double
%Lf\n",
    seba3, seba3, seba3);
 
    printf ("\nPara tipo long double:\nFloat %f\nDouble %lf\nLong Double
%Lf\n",
    ld, ld, ld);
    
    getchar(); //para que no se cierre la ventana
    return 0;
}    
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070317/e56c0c38/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: imstp_chubbi_by_im_es.gif
Type: image/gif
Size: 21036 bytes
Desc: no disponible
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070317/e56c0c38/attachment.gif>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: salida.JPG
Type: image/jpeg
Size: 42475 bytes
Desc: no disponible
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070317/e56c0c38/attachment.jpe>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: 10-9.c
Type: unknown/unknown
Size: 992 bytes
Desc: no disponible
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070317/e56c0c38/attachment.bin>


Más información sobre la lista de distribución Cconclase