C Macro isinf - sonkoni/Koni-Wiki GitHub Wiki
μ€μκ° λ¬΄νλμΈμ§ κ²μ¬νλ λ§€ν¬λ‘ ν¨μ
#define isinf(arg) // math.h
// arg - floating point value
// μΈμκ° λ¬΄νλκ° λ§μΌλ©΄ `0μ΄ μλ μ`λ₯Ό λ°ν, 무νλκ° μλλ©΄ `0`μ λ°ν.- λ³μλ₯Ό
INFINITYμ==λ‘ λΉκ΅νκ±°λisinfλ₯Ό μ¬μ©νμ¬ κ°μ΄ 무νλμΈμ§ κ²μ¬ν μ μλ€.
#include <stdio.h>
#include <math.h>
#include <float.h>
int main(int argc, char *argv[]) {
// INFINITY λ float μ΄λ€.
printf("=> %f size:%zu\n", INFINITY, sizeof(INFINITY));
printf("isinf(NAN) = %d\n", isinf(NAN));
printf("isinf(INFINITY) = %d\n", isinf(INFINITY));
printf("isinf(0.0) = %d\n", isinf(0.0));
// μ΄λ κ² λ¨μ λΉκ΅ν΄λ λλ€.
float num = FLT_MAX * 1000.f;
if (num == INFINITY) {
printf("1. num is INFINITY\n");
}
// ν¨μλ‘ λΉκ΅ν΄λ λλ€.
if (isinf(num)) {
printf("2. num is INFINITY\n");
}
return 0;
}
// => inf size:4
// isinf(NAN) = 0
// isinf(INFINITY) = 1
// isinf(0.0) = 0
// 1. num is INFINITY
// 2. num is INFINITY