Makale numarası: 69333 - Son Gözden Geçirme: 16 Ağustos 2005 Salı - Gözden geçirme: 2.2 Iş, etrafında kayan nokta doğruluğu/karşılaştırma sorunları nasıl
ÖzetGüvenilir, iki olup olmadığını sınamak için kayan nokta değişken veya ifade (MBF ya da IEEE biçimi kullanarak) eşit, karşılaştırılan iki değişkenleri çıkarma ve bunların fark sınırları, anlamın için tek veya çift duyarlıklı sırasında seçilen değerinden küçük olup olmadığını sınamak gerekir. GÜVENİLİR YOK BİR SINAMA İÇİN EŞİTLİK OLACAKTIR. Aşağıdaki formüllerde, güvenilir X ve Y eşit olup olmadığını sınayın:
MBF (Microsoft ikili biçimi), <a1>MS-DOS</a1> (yalnızca QB.EXE olmayan işlemci sürümü), sürüm 1.0, 1.01, 2.0, 2.01 ve 3.0 için Microsoft QuickBasic ve MS-DOS sürüm 3.2, 3.22 ve 3.23 için Microsoft GW-Basic yorumlayıcı bulunamadı. Bu makaledeki bilgiler standart ve Microsoft Visual Basic Professional sürümleri ile MS-DOS, sürüm 1.0 için sağlanan Yardım dosyası içinde de bulunmaktadır. Daha fazla bilgiNot: belirli basamağa hesaplanmış bir sayı aşağıdaki nedeniyle kaybolmuş olabilir: birden çok hesaplama, özellikle toplama değeri uzaklık kadar bir sayı veya sayı değeri benzer çıkarma. Bir sayı sonucu, birden çok hesaplama gelen eşitlik daha az sayıda anlamlı basamağa anlamlı basamağa matematiksel kaybına yansıtacak biçimde kullanmak için sınama değiştirmeniz gerekebilir. Çok fazla anlamlı basamak, sınama, anlamın kullanılıyorsa, sayılar için eşitlik karşılaştırıldığında doğruluğu, olası sınırı içinde gerçekten eşit olduğunu bulmak başarısız olabilir. IEEE kayan nokta biçimini kullanan yukarıda listelenen temel ürünleri, kaydındaki tek duyarlıklı veya çift duyarlıklı değişkenleri depolanan çok doğruluğunu daha fazla bit olan bir iç 64-bit geçici, ara hesaplamalarda gerçekleştirilir. Bu genellikle hangi durumları ara hesaplama karşılaştırılan ifade eşit olmayan bir hata dönmeden IF deyimini olur. Örneğin: Başvuru: MBF hem IEEE standartları, doğruluk ve sayısal aralık ve hızını duyarlık Bakiye çalışıldı. Doğruluk, duyarlık ne kadar önemli bitlerini hesaplamalarında kayboldu ölçer. Duyarlık mantis kaç ondalık basamak gösterileceğini belirleyen bit sayısını gösterir. IEEE biçiminde hem de MBF y gücüne form 1.x numaralarını depolamak (burada x ve y temel 2 numaraları; x mantis ve y üs ise). 24 Bit mantis MBF tek duyarlıklı varsa ve çift duyarlıklı 56 bit mantis. Tüm MBF hesaplamaları, 24 veya 56 bit içinde gerçekleştirilir. 24 Bit mantis IEEE tek duyarlıklı varsa ve çift duyarlıklı 53 bit mantis. Ancak, büyük doğruluğunu 64-bit geçici kayıttaki tüm tek duyarlıklı ve çift duyarlıklı IEEE hesaplamalarında Visual Basic for MS-DOS sürüm 1.0; MS-DOS, sürüm 3.0/4.x için QuickBasic; için MS-DOS sürüm 6.0 ve 6.0b; Basic Derleyicisi ve temel PDS MS-DOS, sürüm 7.0 ve 7.1re gerçekleştirdi. Sonuç olarak, IEEE MBF hesaplamaları (MBF'ın daha fazla bit çift duyarlıklı temsil yeteneğini karşın daha doğru hesaplamalardır. Çoğu (10 tabanı) ondalık gösterimle sayıların tam gösterilişinin tek duyarlıklı ve çift duyarlıklı veri türü kullanılan ikili (2 tabanı) kayan noktalı depolama biçiminde sahip DEĞIL. IEEE biçiminde hem de MBF (tam olarak temsil olamaz ve yuvarlama gerekir), form 1.x y gücüne olan tüm sayılar (burada x ve y temel 2 numaraları). Tam olarak temsil edilebilir sayıları çok çeşitli üzerinde dağılmış. 1.0 Ve -1.0, 0. 0'a BIR yüksek yoğunluklu gösterilebilir sayı olan, ancak numaraları 0 veya sonsuz doğru gitme gibi daha az gösterilebilir numaralarını oluşur. Yukarıdaki sınırlamalar, Basic, kayan noktalı sonuç beklediğinizden farklı dönmek genellikle neden. Bu konu hakkında daha fazla bilgi, Microsoft Knowledge Base'deki aşağıdaki sözcükler üzerinde sorgulayarak bulunabilir: floating noktası ve biçimi ve QuickBasic Kayan nokta IEEE biçiminde aşağıdaki el kitapları ' belgelenmiştir:
MBF VE dönüştürme VE üs değeri Bu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:69333
(http://support.microsoft.com/kb/69333/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukMakale çevirileri
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Üste