C precisão do ponto flutuante [duplicado]
Duplicata Possível:
Comparação de ponto flutuante
Eu tenho um problema sobre a precisão do float em C / C ++. Quando executo o programa abaixo:
#include <stdio.h>
int main (void) {
float a = 101.1;
double b = 101.1;
printf ("a: %f\n", a);
printf ("b: %lf\n", b);
return 0;
}
Resultado:
a: 101.099998
b: 101.100000
Eu acredito que float deve ter 32 bits, então deve ser suficiente para armazenar 101.1 Por quê?