summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/OR_PRACTICAL_C/15_1.c
blob: 69ecdef54f0cccb09b7a98814b0cfbbb0878193a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
main()
{
    /* two numbers to work with */
    float number1, number2;
    float result;               /* result of calculation */
    int   counter;              /* loop counter and accuracy check */

    number1 = 1.0;
    number2 = 1.0;
    counter = 0;

    while (number1 + number2 != number1) {
        counter++;
        number2 = number2 / 10.0;
    }
    (void) printf("%2d digits accuracy in calculations\n", counter);

    number2 = 1.0;
    counter = 0;

    while (1) {
        result = number1 + number2;
        if (result == number1)
            break;
        counter++;
        number2 = number2 / 10.0;
    }
    (void) printf("%2d digits accuracy in storage\n", counter);
    return (0);
}