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.
Şimdi sizlere ufak bir örnek göstereyim daha sonra da bu örneği yorumlayalım;
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.
Mantık bu şekildedir.Sonraki makalemde görüşmek dileği ile..Sağlıcakla Kalınız
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.
Şimdi sizlere ufak bir örnek göstereyim daha sonra da bu örneği yorumlayalım;
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.
Mantık bu şekildedir.Sonraki makalemde görüşmek dileği ile..Sağlıcakla Kalınız
Son düzenleme:

