-1 * int.== İnt MinValue.MinValue?? Bu bir hata mı? | Netgez.com
SORU
1 EYLÜL 2010, ÇARŞAMBA


-1 * int.== İnt MinValue.MinValue?? Bu bir hata mı?

C# görebiliyorum

-1 * int.MinValue == int.MinValue

Bu bir hata mı? Gerçekten bir arama ağacı uygulamak için çalışırken beni mahvetti. Düzgün bunu inkar edebilmem (int.MinValue 1) ile sona erdi.

CEVAP
1 EYLÜL 2010, ÇARŞAMBA


Bu bir hata deÄŸil.

int.MinValue * -1 int.MaxValue tutabileceğinden daha 1 daha büyük. Böylece, numarasını arkaya int.MinValue sarar.

Bu temelde bir tamsayı taşması nedeniyle oluşur.

Int32.MinValue:

Bu sabit deÄŸeri -2,147,483,648

Int32.MaxValue:

Bu sabit deÄŸeri 2,147,483,647

Int32.MaxValue daha 1 biraz daha büyük, -2,147,483,648 * -1 = 2,147,483,648.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • H3Ctic (old channel)

    H3Ctic (old

    23 Mart 2011
  • KittiesMama

    KittiesMama

    10 AÄžUSTOS 2008
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011