7 Aralık 2014 Pazar

IEEE 754 Özel Sabitler

Özel Sabitler
Epsilon
Epsilon kelime anlamı olarak sıfıra en yakın rakam demek.

C
<cfloat> içinde tanımlı olan FLT_EPSILON 1'den büyük olan en küçük pozitif sayıyı elde etmek için kullanılabilecek değeri gösterir.  Yani tanımın tersine  1 + FLT_EPSILON = 1'den büyük en küçük pozitif sayı anlamına geliyor.

C++
std::numeric_limits<float>::epsilon() 'da yukarıdaki işlemi C++ için yapar. Bu sabit genellikle iki kayan noktayı karşılaştırmak için kullanılır. Örnekte epsilondan 1'e kadar olan sayılar yazdırılıyor.
using nld = std::numeric_limits<float>;
 auto h = nld::epsilon();
 for (; h < 1; h = std::nextafter(h, 1.0f)) {
     std::cerr << "h: " << h << std::endl;
 }

numeric_limits<float>::min() : en küçüpozitif normalized değerleri döner. Bu sayı FLT_MIN'dir. Örnek:

C#
Single.Epsilon C'nin aksine tanıma uygun olarak - en küçük pozitif sayının kendisini verir. 

Hiç yorum yok:

Yorum Gönder