আপনার প্রয়োগে এটি রয়েছে কিনা আপনি পরীক্ষা করতে পারেন:
#include <math.h>
#ifdef NAN
#endif
#ifdef INFINITY
#endif
INFINITY
সি 99 এর অস্তিত্বের গ্যারান্টি রয়েছে (বা সর্বশেষতম খসড়াটি অন্তত) এবং "ধরণী ধাপের ধ্রুবক বা স্বাক্ষরিত অসীম প্রতিনিধিত্ব করে যদি এটি পাওয়া যায় তবে ধ্রুবক ধরণের অভিব্যক্তিতে প্রসারিত হয়; অন্যথায় অনুবাদের সময় প্রবাহিত ধরণের ধনাত্মক ধ্রুবকে"
NAN
সংজ্ঞায়িত হতে পারে বা নাও হতে পারে এবং "সংজ্ঞায়িত হয় কেবলমাত্র এবং যদি বাস্তবায়নটি ফ্লোট ধরণের জন্য শান্ত NaNs সমর্থন করে It
মনে রাখবেন যে আপনি যদি ভাসমান পয়েন্টের মানগুলি তুলনা করছেন, এবং করুন:
a = NAN;
অথচ,
a == NAN;
মিথ্যা। NaN এর জন্য চেক করার একটি উপায় হ'ল:
#include <math.h>
if (isnan(a)) { ... }
আপনি এটিও করতে পারেন: a != a
যদি পরীক্ষাগুলি না a
হয় তবে ।
রয়েছে 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)।
দস্তাবেজগুলি ইনফিনিটি
ডক্স এনএএন