SORU
29 HAZİRAN 2010, Salı


Tamsayı bölme Java: Nasıl bir çift üretiyorsunuz?

int num = 5;
int denom = 7;
double d = num / denom;

Bu 0 olur. Bu çalışmayı yaparak zorlayabilir biliyorum

double d = ((double) num) / denom;

ama başka bir yolu olmalı değil mi? Ne olduğu bilen döküm ilkel, sevmiyorum.

CEVAP
29 HAZİRAN 2010, Salı


double num = 5;

Bir döküm önler. Ama cast dönüşüm iyi tanımlanmış olduğunu göreceksiniz. Sadece JLS kontrol sanırım gerek yok. çift int genişleyen bir dönüşüm. §5.1.2:

Genişleyen ilkel dönüşüm yok genel hakkında bilgi kaybedersiniz sayısal bir değer büyüklüğü.

[...]

Bir int ya da long bir değer dönüştürme uzun bir değeri yüzer, ya da , kaybına neden çift hassas, sonuç kaybedebilirsiniz. en az önemli bit bazı değer. Bu durumda, elde edilen kayan nokta değeri olacak bir bu doğru yuvarlanan sürüm tamsayı değeri, IEEE 754 kullanarak -yuvarlak en yakın modu (§4.2.4).

5 tam olarak bir çift ifade edilebilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kamaniusilelis

    kamaniusilel

    10 HAZİRAN 2011
  • Microsoft Help & Training Videos

    Microsoft He

    31 Mart 2009
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013