C Standard Kütüphanesi'nde bulunan float.h başlık dosyası float değerleriyle ilgili makro sabitlerini tanımlar.
Float bir değer 4 elemandan oluşur:
İşaret (+/-): Sayının pozitif veya negatif olduğunu gösterir.
Sayı sistemi: Sayının hangi sayı sistemi (2, 8, 10, 16 gibi) olduğunu gösterir.
Üs değeri: Sayı sisteminin üs değerini gösterir.
Ondalıklı sayı: Float değerin ondalık kısmını gösterir.
Float değer = (+/-) Ondalıklı sayı x Sayı sistemi Üs değeri
Örnek: +3.1724 x 10 2 = 317.24
Makro sabitler
Sabit adı | Açıklama |
---|---|
DECIMAL_DIG (C99) | Asgari ondalık basamak sayısı, en geniş desteklenen float veri türünün herhangi bir sayısının DECIMAL_DIG basamak hassasiyetiyle ondalık olarak gösterilebilmesi ve orijinal float veri tipinde değerini değiştirmeden okunması. DECIMAL_DIG değeri en az 10'dur. |
FLT_DECIMAL_DIG DBL_DECIMAL_DIG (C11) LDBL_DECIMAL_DIG |
Float, double veya long double bir değeri ondalık bir değere çevirmede en az FLT_DECIMAL_DIG/DBL_DECIMAL_DIG/LDBL_DECIMAL_DIG kadar basamaklı yapı kullanımıdır. |
FLT_DIG DBL_DIG LDBL_DIG |
Metinden float/double/long double değerlere ve bu değerlerden metine çevirme işleminde, yuvarlama veya sınır aşımı nedeniyle değişikliklerden etkilenmeden korunacak olan ondalık basamak sayısı. |
FLT_EPSILON DBL_EPSILON LDBL_EPSILON |
Float, double veya long double veri türlerinin 1.0 değeri ile bir sonraki değeri arasındaki farktır. |
FLT_EVAL_METHOD (C99) | Ara sonuçlar için genişletilmiş hassasiyet kullanımı: 0 kullanılmıyor, 1 float yerine double kullanılır, 2 long double. |
FLT_HAS_SUBNORM DBL_HAS_SUBNORM (C11) LDBL_HAS_SUBNORM |
Veri türünün subnormal sayıları destekleyip desteklemediğini gösterir: -1 belirlenemez, 0 mevcut değil, 1 mevcut. |
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG |
Float, double veya long double veri türleri için float değerin logaritma ondalık kısmında hassasiyeti kaybetmeden gösterilebilen FLT_RADIX üzerindeki basamak sayısı. |
FLT_MAX DBL_MAX LDBL_MAX |
Float, double veya long double veri türlerinin maksimum pozitif değeri. |
FLT_MAX_10_EXP DBL_MAX_10_EXP LDBL_MAX_10_EXP |
Float, double veya long double veri türleri için 10'lu taban üs değeri olan maksimum pozitif değerdir. |
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP |
Float, double veya long double veri türleri için FLT_RADIX üs değeri olan maksimum pozitif değerdir. |
FLT_MIN DBL_MIN LDBL_MIN |
Float, double veya long double veri türlerinin normal minimum pozitif değeri. |
FLT_MIN_10_EXP DBL_MIN_10_EXP LDBL_MIN_10_EXP |
Float, double veya long double veri türleri için 10'lu taban üs değeri olan minimum negatif değerdir. |
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP |
Float, double veya long double veri türleri için FLT_RADIX üs değeri olan minimum negatif değerdir. |
FLT_RADIX | Kullanılan sayı tabanı (tamsayı değer). |
FLT_ROUNDS | Float veri türü aritmetik yuvarlama modu. |
FLT_TRUE_MIN DBL_TRUE_MIN (C11) LDBL_TRUE_MIN |
Float, double veya long double veri türlerinin minimum pozitif değeri. |