SORU
14 AĞUSTOS 2015, Cuma


Birleşim matematik: (a b) c=! a (b c)

Son zamanlarda old blog post by Eric Lippert geçiriyordum birleşim C#, (a b) c a, b, c. belirli değerleri için a (b c) eşdeğer olmayan o söz hakkında yazarken,

Öğrenmek bulunamamne tür ve aritmetik değerler aralığıbu doğru ve neden tutabilir.

CEVAP
14 AĞUSTOS 2015, Cuma


double tip: dizi

double dbl1 = (double.MinValue   double.MaxValue)   double.MaxValue;
double dbl2 = double.MinValue   (double.MaxValue   double.MaxValue);

Birincisi double.MaxValue, double.Infinity ikincisi

double türü: duyarlık

double dbl1 = (double.MinValue   double.MaxValue)   double.Epsilon;
double dbl2 = double.MinValue   (double.MaxValue   double.Epsilon);

Şimdi dbl2 == 0 dbl1 == double.Epsilon,.

Ve kelimenin tam anlamıyla soru okuma :-)

checked modu:

checked
{
    int i1 = (int.MinValue   int.MaxValue)   int.MaxValue;
}

i1 int.MaxValue

checked
{
    int temp = int.MaxValue;
    int i2 = int.MinValue   (temp   temp);
}

(not temp değişken kullanın, aksi takdirde derleyici hata doğrudan verecektir. Teknik olarak bile bu farklı bir sonuç olurdu :-) vs yok derleme) Derler doğru

bu OverflowException... sonuçlarını farklı bir atar :-) (int.MaxValue vs Exception)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006