#include <stdio.h>
int main()
{
float a = 6.7;
if (a == 6.7)
printf("a");
else
printf("B");
return 0;
}
공부하다가 이 코드 출력 값 예상을 해보는 문제가 있었는데 당연히 A일줄 알았더니 B가 나오네요 그래서 비교도 해보고 숫자 자체를 출력도 해보고 하니까
a == 6.7 에서 6.7 << 이게 double 사이즈로 나오길래 a== float(6.7) 하니까 그제서야 a가 나오더라고요 이게 해당 숫자의 사이즈도 비교를 하는건가요?
해당 댓글은 삭제되었습니다.
숫자에 마우스 올려보니까 .0000017? 이런식으로 내려가던데 이게 다른 원리가 뭔가요?
아하 혹시 그러면 기본 6.7만 입력했을때 double 사이즈가 6.700000000178 까지만 표현이 가능하고 float에 6.7을 넣으면 더 늘어나니까 이 친구가 다르다고 보는 거 맞나요?
printf("%1.10f\n",6.7f); printf("%1.10f\n",6.7d);