C Macro isnan - sonkoni/Koni-Wiki GitHub Wiki

math.h

isnan

μ‹€μˆ˜κ°€ NaN 인지 κ²€μ‚¬ν•˜λŠ” 맀크둜 ν•¨μˆ˜

  • μˆ˜μ™€ NaN ν˜Ήμ€ NaN κ³Ό NaN 을 μ„œλ‘œ 직접 비ꡐ할 수 μ—†λ‹€. 즉 == 둜 λΉ„κ΅ν•˜λ©΄ μ•ˆ λœλ‹€.
#include <stdio.h>
#include <math.h>
#include <float.h>

int main(int argc, char *argv[]) {
    printf("isnan(NAN)         = %d\n", isnan(NAN));
    printf("isnan(INFINITY)    = %d\n", isnan(INFINITY));
    printf("isnan(0.0)         = %d\n", isnan(0.0));

    // -1의 μ œκ³±κ·Όμ€ μ‹€μˆ˜λ‘œ ν‘œν˜„ν•  수 μ—†λ‹€. ν—ˆμˆ˜κ°€ λ‚˜μ˜¨λ‹€.
    float num = sqrt(-1.f);
    if (isnan(num)) {       // μˆ«μžκ°€ μ•„λ‹Œ 값인지 검사
        printf("nan!\n");
    }

    return 0;
}

// isnan(NAN)         = 1
// isnan(INFINITY)    = 0
// isnan(0.0)         = 0
// nan!
⚠️ **GitHub.com Fallback** ⚠️