IEEE 754 kayan noktalı sayıları ile pozitif ve negatif sonsuz sayılar ve sayı olmama durumu (NaN) gösterilebilir. Bu üç değer hesaplamalardaki sonuç tanımsızsa ya da tam doğru olarak gösterilemiyorsa ortaya çıkar. Ayrıca bunlardan birini bir gerçek sayı değişkenine enine boyuna düşünerek faydası olacaksa atayabilirsiniz. Sonsuzluk ve NaN üreten bazı hesaplama örnekleri:
1/0 = oo
log (0) = -oo
sqrt (-1) = NaN
Temel işlemler ve matematik işlevlerinin hepsi sonsuzluk ve NaN değerlerini kabul ederler ve uygun bir çıktı üretirler. Sonsuzluğun hesaplamalarda kullanılışına örnekler: 2 + oo = oo, 4/oo = 0, atan (oo) = pi/2. Ancak, NaN bulaştığı bir hesaplamayı bozar. Hesaplama aynı sonucu üretmedikçe sonucun NaN mı olduğu yoksa gerçek sonucun yerini NaN'ın mı aldığının bir önemi yoktur.
Karşılaştırma işlemlerinde pozitif sonsuz, kendisi ve NaN hariç diğer tüm değerlerden büyüktür; negatif sonsuz ise kendisi ve NaN hariç diğer tüm değerlerden küçüktür. NaN sıradışıdır: kendisi dahil ne bir şeye eşittir, ne birşeyden küçük, ne de birşeyden büyüktür.
x == x karşılaştırması değer NaN olduğunda yanlıştır. Bu durumu bir değerin NaN olup olmadığını sınamak için kullanabilirsiniz, ancak önerilen yöntem
isnan işlevini kullanmaktır (bkz.
Gerçek Sayı Sınıflama İşlevleri). Ek olarak, NaN'lara uygulandığında
<,
>,
<= ve
>= işleçleri bir olağandışılık ortaya çıkarırlar.
Bir değişkene sonsuzluk veya NaN atamayı mümkün kılan makrolar math.h dosyasında tanımlanmıştır.
Pozitif sonsuzu gösteren bir ifade. 1.0 / 0.0 gibi matematiksel bir işlemin sonucuna eşittir. Negatif sonsuz -INFINITY'dir.
Bir gerçek sayının sonsuz olup olmadığını bu makro ile karşılaştırarak sınayabilirsiniz. Ancaki bu önerilmez; bunun yerine
isfinite makrosunu kullanmalısınız; bkz.
Gerçek Sayı Sınıflama İşlevleri.
Bu makro ISO C99 standardında tanıtıldı.
Sayı olmayan bir değeri gösteren bir ifade. Bu makro bir GNU oluşumudur ve sadece IEEE kayan noktalı sayıları destekleyen tüm makinelerde desteklenir.
Bir makinede NaN desteği olup olmadığını sınamak için #ifdef NAN kullanabilirsiniz. (Şüphesiz, _GNU_SOURCE tanımlayarak ve math.h başlık dosyasını yazılımınıza dahil ederek GNU oluşumlarının görünür olmasını sağlamalısınız.)
IEEE 754 ayrıca başka bir faydasız değeri mümkün kılar: negatif sıfır. Bu değer, bir pozitif sayıyı negatif sonsuza böldüğünüzde ya da bir negatif sonuç gösterim sınırından daha küçükse üretilir. Negatif sıfır, işaret bitini signbit veya copysign ile doğrudan sınamadıkça tüm hesaplamalarda sıfır gibi davranır.