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

  • pendrop gaming

    pendrop gami

    4 ŞUBAT 2013
  • Santozz Yazz

    Santozz Yazz

    23 Mart 2014
  • TopDJMag TV

    TopDJMag TV

    29 Temmuz 2010