The following piece of code outputs 0.1000000000001
float a=0.1;
printf("%lf",a);
But if I add a 10 times as
long float b=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
printf("lf",b);
It outputs as 0.999999999999989
But if a=0.1 is stored as 0.1000000000001 then the answer should be greater than 10 due to the 1 in last column.Then why is the output less then 10