#include<cstdio>
#include<cmath>
using namespace std;
int main() {
float e = 0.0f;
float a = 0.0f / e;
float b = 0.0f / e;
float c = 1.0 / e;
float d = 2.0 / e;
printf("%d\n", a==b);
printf("%d\n", c==d);
return 0;
}
/**
정답:
0
1
-nan(ind)
inf
*/
0을 0으로 나누는건 불가능하기에 0/0은 NaN을 출력합니다.
0이 아닌 수를 0으로 나누는 것은 수학적으로는 불가능하지만 극한값을 가정한다면 무한대가 나올 수 있기에 무한대를 출력합니다.
1.0 / e
와 - 1.0 / e
를 비교한다면 0이 나옵니다. float의 inf값은 +inf
와 -inf
를 구분합니다.NaN
ffc00000
1 11111111 10000000000000000000000
Inf
7f800000
0 11111111 00000000000000000000000
-Inf
ff800000
1 11111111 00000000000000000000000