SORU
23 ŞUBAT 2011, ÇARŞAMBA


şamandıra vs çift duyarlıklı

Aşağıdaki kodu

  float x = 3.141592653589793238;
  double z = 3.141592653589793238;
  printf("x=%f\n", x);
  printf("z=%f\n", z);
  printf("x= .18f\n", x);
  printf("z= .18f\n", z);

size çıktı verecektir

x=3.141593
z=3.141593
x=3.141592741012573242
z=3.141592653589793116

nereden çıktı üçüncü satırına 741012573242 çöp ve dördüncü satırında 116 çöp. Çiftler her zaman her zaman 7 anlamlı sayılar var yüzer ise 16 önemli rakamlar var mı? Neden çiftler 14 anlamlı rakamlar yok mu?

CEVAP
23 ŞUBAT 2011, ÇARŞAMBA


C kayan nokta sayıları IEEE 754 kodlama kullanın.

Bu tür kodlama bir işaret, bir significand bir değer kullanır.

Bu kodlama nedeniyle, çok sayıda onlar saklanmasını sağlamak için küçük değişiklikler olacak.

Ayrıca, anlamlı basamak sayısı ikili temsili bir decimal değil olduğundan biraz değiştirebilir.

Tek duyarlıklı (kaydır) fonksiyonu, 8 bit significand ve 1 işareti bit 23 bit verir.

Çift duyarlıklı () çift üs, 11 significand biti ve 1 İşaret biti 52 bit verir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • listedabive

    listedabive

    30 Ocak 2007
  • Press Start

    Press Start

    4 HAZİRAN 2006
  • Triune Films

    Triune Films

    9 ŞUBAT 2006