아래 문제가 있습니다.
결과는 1000이 나와야 하지만 그렇지 않고 999.xxx 이런식으로 나옵니다.
float을 공부해본 결과 부동소수점 어쩌고 해서....유효자리수가 소수점 이하 7자리 정도 된다고 하네요.
그럼 당연히 0.1 x 10000은 소소점 이하 7자리가 안되니 계산이 잘되어 나와야 할 것 같은데 여전히 제대로 나오지 않네요.
왜 그런거죠?? 고수님들 자세한 답변 부탁 드릴께요.
벌써 3일째 이러고 있어요....
#include
void main()
{
float f = 0.1;
float sum = 0.0;
int i;
for( i=0; i<10000; i++ )
sum += f;
printf( "%f\n", sum );
}