SORU
4 ŞUBAT 2009, ÇARŞAMBA


Neden't C imzasız yüzer değil mi?

Ben soru garip gibi görünüyor. Programcılar bazen çok fazla düşünüyorum. Lütfen okuyun...

C işaretli ve işaretsiz tamsayılar bir çok kullanırım. Derleyici eğer imzasız bir değişken için imzalı bir tamsayı atamak gibi şeyler yaparsam beni uyarıyor gerçeğini seviyorum. Eğer işaretsiz tamsayı ile imzalanan karşılaştırdığımızda ve çok fazla uyarı alıyorum.

Bu uyarı severim. Benim kodum temiz tutmak için yardımcı olur.

Neden yüzer için aynı lükse sahip değil mi? Kare-Kök kesinlikle negatif bir sayı döndürür. Diğer yerlerde olumsuz bir kayan nokta değeri anlamı vardır burada da vardır. İmzasız bir şamandıra için mükemmel bir aday.

Btw - tabela-bayrak yüzer kaldırarak alabilirim hassasiyet tek ekstra bit konusunda çok hevesli değilim. Şu anda olduğu gibi mutlu kaydır ile süper değilim. Sadece imzasız olarak bir şamandıra bazen mark ve tamsayılar ile aldığım uyarılar aynı tür almak istiyorum.

İmzasız kayan nokta sayıları destekleyen herhangi bir programlama dili hakkında bir bilgim yok.

Yok neden herhangi bir fikir?

< / ^ hr .

EDİT: imzasız başa çıkmak için hiçbir talimatları vardır x 87 bu DEĞERLERİ yüzen biliyorum. Kullanım imzalı şamandıra talimatları sağlar. Bayan-kullanın (örneğin sıfırın altında olacak) imzalı tamsayı taşması tanımsız tanımsız davranış aynı şekilde düşünülebilir.

CEVAP
4 ŞUBAT 2009, ÇARŞAMBA


İmzasız yüzer desteği yok neden CPU yürütmek için eşdeğer makine kodu işlemleri yok çünkü. Bunu desteklemek için çok verimsiz olur.

Eğer C desteği olsaydı, o zaman bazen imzasız bir şamandıra kullanarak ve performansı sadece öldüğünün farkında olacaktır. Eğer C sonra destekleniyorsa her kayan nokta işlemi eğer imzalanmış olup olmadığını görmek için kontrol edilmesi gerekir. Ve kayan nokta milyonlarca işlem yapan programlar için, bu kabul edilemez.

Yani asıl soru neden yok donanım uygulayıcıları destek olacaktır. Ve bunun cevabını imzasız şamandıra standart ilk olarak tanımlanmış yok bence. Dilleri birbirine eklenmiş olsa bile geriye doğru uyumlu olmak beri dil kullanmak olamazdı. Kayan nokta görmek IEEE standard 754 Floating-Point bakmalısın spec.

İmzasız bir kayan nokta türü ama eğer negatif bir sayı geçmek çalışırsanız, bir şamandıra saklar veya çift ve uyarılar atar imzasız yüzen bir sınıf oluşturarak olmaması kurtulabilirsiniz. Bu daha etkilidir, ama muhtemelen eğer yoğun bir şekilde bunları kullanarak değilse hafif bir performans kaybı umurunda olmayacak.

Ben kesinlikle imzasız bir şamandıra olması kullanışlılığını bakın. Ama C/C En iyi güvenlik içinde herkes için uygun olan verimlilik seçti eğilimindedir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amazon Web Services

    Amazon Web S

    8 NİSAN 2009
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008
  • Stanislav Petrov

    Stanislav Pe

    7 ŞUBAT 2009