70_floating_point_literals.c 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include <stdio.h>
  2. int main()
  3. {
  4. /* decimal floating constant */
  5. float fa0 = .123f;
  6. float fa1 = .123E12F;
  7. float fa2 = .123e-12f;
  8. float fa3 = .123e+12f;
  9. printf("%f\n%f\n%f\n%f\n\n", fa0, fa1, fa2, fa3);
  10. float fb0 = 123.123f;
  11. float fb1 = 123.123E12F;
  12. float fb2 = 123.123e-12f;
  13. float fb3 = 123.123e+12f;
  14. printf("%f\n%f\n%f\n%f\n\n", fb0, fb1, fb2, fb3);
  15. float fc0 = 123.f;
  16. float fc1 = 123.E12F;
  17. float fc2 = 123.e-12f;
  18. float fc3 = 123.e+12f;
  19. printf("%f\n%f\n%f\n%f\n\n", fc0, fc1, fc2, fc3);
  20. float fd0 = 123E12F;
  21. float fd1 = 123e-12f;
  22. float fd2 = 123e+12f;
  23. printf("%f\n%f\n%f\n\n", fd0, fd1, fd2);
  24. printf("\n");
  25. /* hexadecimal floating constant */
  26. double da0 = 0X.1ACP12;
  27. double da1 = 0x.1acp-12;
  28. double da2 = 0x.1acp+12;
  29. printf("%f\n%f\n%f\n\n", da0, da1, da2);
  30. double db0 = 0X1AC.BDP12;
  31. double db1 = 0x1ac.bdp-12;
  32. double db2 = 0x1ac.dbp+12;
  33. printf("%f\n%f\n%f\n\n", db0, db1, db2);
  34. double dc0 = 0X1AC.P12;
  35. double dc1 = 0x1ac.p-12;
  36. double dc2 = 0x1ac.p+12;
  37. printf("%f\n%f\n%f\n\n", dc0, dc1, dc2);
  38. double dd0 = 0X1ACP12;
  39. double dd1 = 0x1acp-12;
  40. double dd2 = 0x1acp+12;
  41. printf("%f\n%f\n%f\n\n", dd0, dd1, dd2);
  42. printf("\n");
  43. #ifdef __TINYC__
  44. /* TCC extension
  45. binary floating constant */
  46. long double la0 = 0B.110101100P12L;
  47. long double la1 = 0b.110101100p-12l;
  48. long double la2 = 0b.110101100p+12l;
  49. printf("%Lf\n%Lf\n%Lf\n\n", la0, la1, la2);
  50. long double lb0 = 0B110101100.10111101P12L;
  51. long double lb1 = 0b110101100.10111101p-12l;
  52. long double lb2 = 0b110101100.10111101p+12l;
  53. printf("%Lf\n%Lf\n%Lf\n\n", lb0, lb1, lb2);
  54. long double lc0 = 0B110101100.P12L;
  55. long double lc1 = 0b110101100.p-12l;
  56. long double lc2 = 0b110101100.p+12l;
  57. printf("%Lf\n%Lf\n%Lf\n\n", lc0, lc1, lc2);
  58. long double ld0 = 0B110101100P12L;
  59. long double ld1 = 0b110101100p-12l;
  60. long double ld2 = 0b110101100p+12l;
  61. printf("%Lf\n%Lf\n%Lf\n\n", ld0, ld1, ld2);
  62. #endif
  63. return 0;
  64. }