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