Провера опсега вредности и прецизности реалних типова

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <float.h>
#include <limits.h>

int main(void)
{
    printf("\t\tfloat\t\tdouble\t\tlong double\n");
    printf("Velicina [B]  :\t%llu B\t\t%llu B\t\t%llu B\n", sizeof(float), sizeof(double), sizeof(long double));
    printf("Min.vrednost  :\t%E\t%lE\t%LE\n", FLT_MIN, DBL_MIN, LDBL_MIN);
    printf("Min.prava vr. :\t%E\t%lE\t%LE\n", FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN);
    printf("Max.vrednost  :\t%E\t%lE\t%LE\n", FLT_MAX, DBL_MAX, LDBL_MAX);
    printf("Radiks        :\t%d\t\t%d\t\t%d\n", FLT_RADIX, FLT_RADIX, FLT_RADIX);
    printf("Signifikand   :\t%d\t\t%d\t\t%d\n", FLT_MANT_DIG, DBL_MANT_DIG, LDBL_MANT_DIG);
    printf("Min.eksponent :\t%d\t\t%d\t\t%d\n", FLT_MIN_EXP, DBL_MIN_EXP, LDBL_MIN_EXP);
    printf("Max.eksponent :\t%d\t\t%d\t\t%d\n", FLT_MAX_EXP, DBL_MAX_EXP, LDBL_MAX_EXP);
    printf("Broj cifara   :\t%d\t\t%d\t\t%d\n", FLT_DIG, DBL_DIG, LDBL_DIG);
    return 0;
}

Тест пример са GNU C и Clang C компајлерима

                float           double          long double
Velicina [B]  : 4 B             8 B             16 B
Min.vrednost  : 1.175494E-38    2.225074E-308   3.362103E-4932
Min.prava vr. : 1.401298E-45    4.940656E-324   3.645200E-4951
Max.vrednost  : 3.402823E+38    1.797693E+308   1.189731E+4932
Radiks        : 2               2               2
Signifikand   : 24              53              64
Min.eksponent : -125            -1021           -16381
Max.eksponent : 128             1024            16384
Broj cifara   : 6               15              18

Тест пример са Microsoft C компајлером

                float           double          long double
Velicina [B]  : 4 B             8 B             8 B
Min.vrednost  : 1.175494E-38    2.225074E-308   2.225074E-308
Min.prava vr. : 1.401298E-45    4.940656E-324   4.940656E-324
Max.vrednost  : 3.402823E+38    1.797693E+308   1.797693E+308
Radiks        : 2               2               2
Signifikand   : 24              53              53
Min.eksponent : -125            -1021           -1021
Max.eksponent : 128             1024            1024
Broj cifara   : 6               15              15