0 ve -0 ayırt etmek mümkün mü? | Netgez.com
SORU
30 NÄ°SAN 2015, PERÅžEMBE


0 ve -0 ayırt etmek mümkün mü?

Tamsayı 0 -0 aslında aynı değerleri biliyorum. Ama, eğer onları ayırt etmek mümkün olup olmadığını merak ediyorum.

Örneğin, nasıl eğer bir değişken -0 atandı.

bool IsNegative(int num)
{
    // How ?
}

int num = -0;
int additinon = 5;

num  = (IsNegative(num)) ? -addition : addition;

Değeri -0 hafızada kayıtlı 0 tam olarak aynı şekilde mi?

CEVAP
30 NÄ°SAN 2015, PERÅžEMBE


Hedeflediğiniz makinesi bağlıdır.

Tamsayı için 2's complement representation kullanan bir makine varbit düzeyinde hiçbir fark yok0 -0 (aynı gösterimi var) arasında

Eğer makine one's complement kullanılmış ise kesinlikle olabilir

0000 0000   -> signed   0 
1111 1111   -> signed   −0

Açıkçası kullanmaktan bahsediyoruzyerel destekx 86 serisi işlemciler iki ... ... desteği işaretli sayıların gösterimi tamamlıyor. Diğer temsiller kullanarak kesinlikle mümkündür ama muhtemelen daha az verimli olduğu ve daha fazla talimat gerektirir.

(JerryCoffin ayrıca Not: Eğer bir tamamlayıcı olsa bile çoğunlukla tarihsel nedenler, signed magnitude representations hala oldukça yaygın olarak kabul edilmiş ve negatif ve pozitif sıfır için ayrı bir gösterimi var)

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

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • CNNMoney

    CNNMoney

    16 Kasım 2006
  • DeAdPiXel6667

    DeAdPiXel666

    2 Ocak 2010
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011