C programlama #Bölüm 5# Detaylı float Veri Tipi

C programlama dili serimizde int veri tipi detaylıca incelemişti, şimdi ise float veya double veri tipi detaylıca inceleyelim. Bir önceki dersi incelemek için buraya tıklayabilirsiniz.

Ondalıklı sayılar bilgisayar belleğinde yüzer-geçer nokta (floating point) yöntemi ile depo edilirler.


Ondalıklı Sayıların Hafızada Kapladığı Alan

Her şeyden önce program içerisinde tanımladığınız değişkenlerin tiplerine dikkat edin! Çünkü bir işlemin tam sayıya yuvarlanması diğer işlemleri de etkileyecektir.

1
2
3
4
5
6
7
8
#include<stdio.h>

int main(){
    printf("%d \n", sizeof(float));
    printf("%d", sizeof(double));

    return 0;
}

Örnek kodu derleyip çalıştırdığımızda ondalık sayı veri tiplerimizden float 4 byte ve double ise 8 byte'lık yer kaplarlar.


Ek olarak ifade etmek gerekirse bit olarak float 4 byte = 32 bit ve double 8 byte = 64 bit yer kaplıyormuş.

Float veri tipini kullanarak virgülden sonra 6 basamağı tutabiliriz. Benzer şekilde double veri tipini kullanarak 14 basamağı tutabiliriz. Eğer daha fazla basamak yazdırmak istesek ne olur? Hafıza sınırını aşacağımız için bu nedenle bize farklı rakamlar verecektir.


Virgülden Sonra Kaç Basamak Yazılacak

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include<stdio.h>

int main(void){
    float a = 3.141592;
    double b = 3.14159265358979;
    long double c = 3.141592653589793213359;

    printf("%f \n", a);
    printf("%f \n", b);
    printf("%Lf", c);

    return 0;
}

Örnek kod üzerinde meşhur sayı Pi sayısını ekranda yazdıralım. Sonuç olarak ekranda basamak sayıları verildiği gibi yazdırılabilir. Sırasıyla float veri tipi virgülden sonra 6 basamak yazdırdık. Daha sonra double veri tipi virgülden sonra 14 basamak yazdırdık. Son olarak long double veri tipi virgülden sonra 21 basamak yazdırdık.


Peki ya, hocalarımız Pi'yi 3,14 almamızı istiyorlar, onu nasıl ekrana yazdırabiliriz? Hemen bir örnek kod ile inceleyelim.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include<stdio.h>

int main(void){
    float a = 3.14;

    printf("%f \n", a);
    printf("%.2f", a);

    return 0;
}

Örnek kodumuzu çalıştırdığımızda ilk printf fonksiyonunun çıktısı 3,140000 şeklinde olacaktır. Bunun sebebi virgülden sonra kaç basamağını yazdırmak istediğimizi ona söylemedik. İkinci printf fonksiyonunda %.2f ifadesin virgülden sonra 2 basamak yazdırılacağını belirttik ve sonuçta 3,14 yazdırdık.


Özetle ondalıklı sayı yazdırırken virgülden sonra kaç basamaka kullanılacağını belitmemiz gerekmektedir.

Bir sonraki bölümümüzde karakter veri tiplerini detaylı şekilde inceleyeceğiz. Bu makaleye buradan ulaşabilirsiniz.