C’de floating point

Aralık 12th, 2011 § Yorum yok

Floating point karşılaştırması kesin midir?

#include <stdio.h>

int main()
{
        float f=0.0f;
        int i;

        for(i=0;i<10;i++)
                f = f + 0.1f;

        if(f == 1.0f)
                printf("f is 1.0 \n");
        else
                printf("f is NOT 1.0\n");

        return 0;
}

Böyle bir karşılaştırma yerine şöle bir karşılaştırma kullanalım…


#include <stdio.h>

int main()
{
        float f=0.0f;
        int i;

        for(i=0;i<10;i++)
                f = f + 0.1f;

        if ((f-1.0f)<0.00000000001f)
                printf("f is 1.0 \n");
        else
                printf("f is NOT 1.0\n");

        return 0;
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ne yapıyorum ben!?

C’de floating point başlıklı yazıyı okuyorsun.

Üst Veri