Hoşgeldin Misafir

Float Veri Tipi

MiRaT

13 Kas 2017
2,077 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Herkese merhabalar, bu makalemde sizlere C Dili'nde float veri tipini anlatmaya çalışacağım.Bu tip, ondalık sayıları bünyesinde barındıran iki temel veri tipinden birisidir.Bu tip, virgülden sonra 6 haneyi bellekte depolayabilir.En az 4 byte veya 32 bit yer kaplarlar.--


Float tipindeki değişkenleri ekrana yazdırırken, biçim niteleyicisi olarak %f ifadesi kullanılır.Nasıl ki normal sayıları ekrana yazdırmak için %d ifadesini kullanıyorsak, float veri tipi için de bu ifadeyi kullanıyoruz.--


Kod:
int main(int argc, char *argv[]) {
     
    float pi_sayisi = 3.1415926535897932384626;
    float diger_sayi = 2.48;
     
    printf("Pi Sayisi Degeri : %f \n",pi_sayisi);
    //Ekrana virgülden sonraki 6 hanesini yazacaktır.
     
    printf("Pi Sayisi Degeri : %.2f \n",pi_sayisi);
    //Ekrana virgülden sonraki 2 hanesini yazacaktır.
     
    printf("Pi Sayisi Degeri : %.8f \n",pi_sayisi);
    //Ekrana virgülden sonraki 8 hanesini yazacaktır.   
     
    printf("Diger Sayi Degeri : %f \n",diger_sayi);
    //Ekrana virgülden sonraki 6 hanesini yazacaktır.
    //Ek rakam yok ise sıfır(0) rakamını ekleyecektir : 2.4800000... gibi
     
    printf("Diger Sayi Degeri : %.12f \n",diger_sayi);
    //Ekrana virgülden sonraki 12 hanesini yazacaktır.
    //Diğer haneler tamamen anlamsız rakamlardır(rastgele)
    //2.480000019073 gibi anlamsız sayı..   
     
    return 0;
}

Evet arkadaşlar, %2.f ' in anlamı : virgülden sonra 2 hane daha getir demektir.Ben 20 hane istiyorsam bunu %.20f şeklinde yapmalıyım.Ancak sayımız 2.48 ise ve ben bunu şu şekilde çağırıyorsam : %15f , 2.480000 klasik olarak gelir daha sonra da virgülden sonra 15 rakamın olması gerekiyor bunu tamamlamak için de rastgele rakamlar atar.Yani : 2.480000459812027 şeklinde bir sayı karşımıza çıkarabilir ( Sayı rastgele yazılmıştır! ).--

Üçüncü ekrana yazdırma cümleciğine değinmek istiyorum.Pi sayısı %.8f şeklinde çağırılmış.Şimdi üst paragrafta da belirttiğim üzere float veri tipi virgülden sonra 6 haneyi bünyesinde barındırabilir, bu garantidir yani veri kaybı yapmaz.Ancak daha fazla bir sayı olması durumunda; örneğin yukarıdaki pi sayısını baz alalım; yine doğal olarak rastgele rakamlar atacaktır.Örneğin; yukarıdaki örnekte ben virgülden sonra 8 hane istemişim ( %.8f şeklinde ), ekrana 8 hane getirdi ancak 6 hanesi pi sayısı, diğer iki hane ise rastgele atanmış rakamlardan oluşmaktadır.--
Şimdi sizlere ufak bir örnek göstereyim daha sonra da bu örneği yorumlayalım;--