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

  • glowpinkstah

    glowpinkstah

    16 Mayıs 2006
  • jagadambarecords

    jagadambarec

    13 AĞUSTOS 2008
  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011