, z
double
y/(float)100000.0
y/100000.0
.
float x = 1028.25478;
long int y = 102825478;
double z = y/100000.0;
// output
x = 1028.254761 z = 1028.254780
FLT_EVAL_METHOD
. .
#include <float.h>
#include <stdio.h>
printf("FLT_EVAL_METHOD %d\n", FLT_EVAL_METHOD);
cast... , , , , . , FLT_EVAL_METHOD
.
-1
;
0
;
1
... float
double
double
, long double
... long double
;
2
...
long double
.
, , z
float z = y/(float)100000.0;
.
@Antti Haapala, , .