SORU
29 NİSAN 2009, ÇARŞAMBA


Ne zaman yerine çift ondalık kullanmalıyım?

double (float) decimal yerine üç avantaj sayabilirim:

  1. Daha az bellek kullanır.
  2. Kayan nokta matematik işlemleri daha hızlıdır, çünkü doğal olarak işlemci tarafından desteklenmektedir.
  3. Can numaralar daha büyük bir aralığı temsil eder.

Ama bu avantajlar sadece hesaplama yoğun operasyonlar, bu modelleme yazılımı gibi için geçerli gibi görünüyor. Tabii ki, çiftler hassas gereklidir, finansal hesaplamalar gibi durumlarda kullanılmamalıdır. Yani orada hiç "uygulamalar? normal decimal yerine double (float) seçmek için herhangi bir pratik faydaları

Eklemek için düzenlenebilir: Bütün büyük cevaplar için teşekkürler, ben onlardan öğrendim.

Bir başka soru: Bir kaç kişi çiftler daha doğrusu gerçek sayıları temsil edebilecek bir noktaya işaret etti. Ben ilan ettiğinde genellikle daha doğru olarak temsil ettiğini düşünür. Ama doğruluğu kayan nokta işlemi gerçekleştirildiğinde (bazen önemli ölçüde) düşürebilir bu doğru bir ifade midir?

CEVAP
29 NİSAN 2009, ÇARŞAMBA


Oldukça iyi avantajları özetlenmiştir düşünüyorum. Ancak bir nokta eksik. decimal türünü temsil eden daha doğru olurtemel 10sayılar (örneğin bu para birimi/mali hesaplamalarda kullanılır). Genel olarak, double yazın en azından büyük bir kesinlikle (birisi eğer yanılıyorsam beni düzeltin) ve keyfi reel sayılar için kesinlikle daha hızlı olarak sunacak. Sonuç ise basit: kullanmak için hangi göz önüne alındığında, her zaman decimal sunan base 10 doğruluk ihtiyacın yoksa double kullanın.

Düzenleme:

Operasyon sonrası kayan nokta sayıları doğruluğunu düşüş hakkında ek sorunuza gelince, bu biraz daha ince bir konu. Gerçekten de, kesinlik (doğruluk için birbirinin terimi kullanıyorum) her işlem yapılır sonra giderek azalacak. Bunun nedeni iki nedeni vardır: a) hatta bazı numaraları (en açık ondalık) olamaz gerçekten temsil kayan nokta şeklinde, b) yuvarlama hataları meydana gibi yaptığını hesaplama tarafından el. Bu hataları çok düşündüm ancak emri için yeterince önemli olup olmadığını büyük ölçüde bağlama çalıyorsunuz nasıl () bağlıdır. Her durumda, eğer sen de istersen karşılaştırın iki kayan noktalı sayı olmalıdır teori eşdeğer (ama geldi de kullanarak farklı hesaplamalar), izin ver bir dereceye kadar tolerans (ne kadar değişir, ama genellikle çok küçük).

Hassasiyetler hataları tanıttı olabilir belirli durumlarda daha ayrıntılı bir bakış için, Wikipedia article Doğruluk bölümüne bakın. Eğer derinlemesine (ve) matematiksel tartışma kayan nokta sayı/işlemleri makine düzeyinde bir ciddiye istiyorsanız son olarak, 14* *sık sık alıntılanan makale okumaya çalışın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Justin Case

    Justin Case

    3 EKİM 2011
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010
  • Orson Wang

    Orson Wang

    28 EKİM 2006