คุณสามารถทดสอบว่าการใช้งานของคุณมีหรือไม่:
#include <math.h>
#ifdef NAN
#endif
#ifdef INFINITY
#endif
การมีอยู่ของINFINITYรับประกันโดย C99 (หรืออย่างน้อยที่สุดแบบร่างล่าสุด) และ "ขยายเป็นนิพจน์คงที่ของประเภท float ที่แสดงค่าอินฟินิตี้ที่เป็นบวกหรือไม่ได้ลงนามถ้ามีมิฉะนั้นจะเป็นค่าคงที่บวกของประเภทโฟลตที่ล้นในเวลาแปล"
NAN อาจกำหนดหรือไม่ก็ได้และ "ถูกกำหนดก็ต่อเมื่อการใช้งานรองรับ NaN แบบเงียบสำหรับประเภทโฟลตมันจะขยายเป็นนิพจน์คงที่ของประเภทโฟลตที่แสดงถึง NaN ที่เงียบ"
โปรดทราบว่าหากคุณกำลังเปรียบเทียบค่าทศนิยมให้ทำดังนี้
a = NAN;
ถึงอย่างนั้น
a == NAN;
เป็นเท็จ วิธีหนึ่งในการตรวจสอบ NaN คือ:
#include <math.h>
if (isnan(a)) { ... }
คุณยังสามารถทำได้: a != aเพื่อทดสอบว่าaเป็น NaN หรือไม่
นอกจากนี้ยังมีisfinite(), isinf(), isnormal()และsignbit()แมโครในmath.hใน C99
C99 ยังมีnanฟังก์ชั่น:
#include <math.h>
double nan(const char *tagp);
float nanf(const char *tagp);
long double nanl(const char *tagp);
(อ้างอิง: n1256).
เอกสาร INFINITY
เอกสาร NAN