Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
1763
Tıklama
0
Öne Çıkarma
DEV C++ Bölme sorunu
T
11 yıl
Binbaşı
Konu Sahibi

Arkadaşlar merhaba.Biraz kod çalışıyodum fakat dev c++ programında bölme işleminde sorun oluştu sonra en basit haliyle denedim mesela

#include <stdio.h>
#include <math.h>

main()
{
float t=3/4;
printf("%f",t);
}

şeklinde yazdım fakat sonucu hep sıfır veriyor.Bu saatte gözümden kaçan bir şey mi var acaba ?



Q
11 yıl
Yüzbaşı

Merhaba,

Fark ettıysen 3/4 işleminin elemanlarının ikisi de Integer. Bu yuzden bölme işlemi Integer tipine göre yapılır. Integer bölmesinde sonuç her zaman aşağıya yuvarlandığı için 0 olur.

Fakat sayılardan birini float tanımlasaydık, 3/4.0f veya 3/(float)4;

Integer ve Float arasından Float daha "hassas, güçlü" olduğu için, bölme Float'a göre yapılacaktı ve sonuç 0.75f çıkacaktı.

Aritmatik işlemlerde kullanılan değişken tiplerini birbirlerine dönüştürme tablosu da aşağıda:

C++03 standartına göre:

quote:


Eğer elemanlardan biri long double ise, diğeri de long double'a dönüştürülür.
Değilse, eğer elemanlardan biri double ise, diğeri de double'a dönüştürülür.
Değilse, eğer elemanlardan biri float ise, diğeri de float'a dönüştürülür.
Değilse, "Integer Promotion" denilen Integer türevlerini birbirine dönüştürerek hassaslığı artırma işlemi yapılır. (Çok önemli bir açıklama değil bu)
Eğer elemanlardan biri unsigned long ise, diğeri de unsigned long'a dönüştürülür.
Değilse, eğer elemanlardanbiri long int ve diğeri unsigned int ise, eğer long int unsigned int tipinin bütün değerlerini gösterebiliyorsa diğer eleman long int'e, gösteremiyorsa her ikisi e unsigned long int'e dönüştürülür.
Değilse, eğer elemanlardan biri long ise, diğeri de long'a dönüştürülür.
Değilse, eğer elemanlardan biri unsigned ise, diğeri de unsigned'a dönüştürülür.


Kaynak:http://stackoverflow.com/questions/5780578/c-type-of-the-division


Bu mesaja 1 cevap geldi.
T
11 yıl
Binbaşı
Konu Sahibi

Sağolasın dostum basit ama gözden kaçan bişey



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.