[Bug libfortran/48651] DTOA float conversion issue

jvdelisle at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Apr 17 18:29:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48651

--- Comment #2 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-04-17 18:28:55 UTC ---
hmm, notice the typo! i have set ldnum to 0.0 but it still is printing the
value of dnum. What am I doing wrong.

$ cat sprint.c 
#include <stdio.h>

int
main ()
{
  float num = 0.9;
  double dnum = 0.9;
  long double ldnum = 25.6;
  printf("%50.48f\n", num);
  printf("%50.48lf, %d\n", num, sizeof(num));
  printf("%80.78f\n", dnum);
  printf("%80.78lf, %d\n", dnum, sizeof(dnum));
  printf("%80.78f\n", ldnum);
  printf("%80.78lf, %d\n", ldnum, sizeof(ldnum));
}
[jerry@quattro pr48602]$ cat sprint.c 
#include <stdio.h>

int
main ()
{
  float num = 0.9;
  double dnum = 0.9;
  long double ldnum = 25.6;
  printf("%50.48f\n", num);
  printf("%50.48lf, %d\n", num, sizeof(num));
  printf("%80.78f\n", dnum);
  printf("%80.78lf, %d\n", dnum, sizeof(dnum));
  printf("%80.78f\n", ldnum);
  printf("%80.78lf, %d\n", ldnum, sizeof(ldnum));
}
[jerry@quattro pr48602]$ ./a.out 
0.899999976158142089843750000000000000000000000000
0.899999976158142089843750000000000000000000000000, 4
0.900000000000000022204460492503130808472633361816406250000000000000000000000000
0.900000000000000022204460492503130808472633361816406250000000000000000000000000,
8
0.900000000000000022204460492503130808472633361816406250000000000000000000000000
0.900000000000000022204460492503130808472633361816406250000000000000000000000000,
16

The value of ldnum is not surviving.



More information about the Gcc-bugs mailing list