float, double, decimal Arasındaki Temel Farklar

Float;
bellekte 4 byte yer kaplar ve basamak hassasiyeti 7 dir.
float sayi=11.2f;
şeklinde tanımlanır.

Double;
bellekte 8 byte yer kaplar. Basamak hassasiyeti 16 dır.
double sayi=11.2d;  veya  double sayi=11.2;
şeklinde tanımlanır.
C# ta ondalıklı bir sayı yazınca varsayılan olarak o sayı double tipindedir.

Decimal;
bellekte 16 byte yer kaplar hem tamsayı hemde ondalıklı sayı barındırabilen bir tipitir. Basamak hassasiyeti 29 karakterdir.
decimal sayi=11.2m;
şeklinde tanımlanır.

Aralarındaki farka gelince float bellekte az yer kapladığı için performans açısından en uygun değer gibi gözüksede 7 basamağa kadar değer alabildiği için kullanım amacı daha küçük sayılarla işlem yapmak içindir.

Örneğin
“float sayi=12.456781f;”
gibi bir tanımlamanın ekran çıktısı 12.45678 olacaktır,
son basamak 8. Basamağa denk geldiği için ve 5 ten küçük olduğu için dikkate alınmamıştır.
Eğer 5 ten büyük olsaydı son sayı bir üst sayıya yuvarlanarak 12.45679 olacaktı.
double tipinde tanımlanmış bir değişkenin float tipinde tanımlanmış bir değişkenden farkı bellekte kapladığı alan 8 byte ve basamak sayısı 16 dır, diğer özellikleri floatla aynıdır ve C# ondalık sayılar için aksi belirtilmedikçe varsayılan değer olarak double tipini kabul eder.
decimal tipi ise bellekte 16 byte gibi büyük bir yer kaplar,  ondalık sayıları 29 basamağa kadar hassiyetle kullanabildiği için ve tamsayı tipleride içinde barındırabildiği için genellikle finansal hesaplamalarda kullanılır.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s