«floating-point» etiketlenmiş sorular

Kayan nokta sayıları, tamsayılardan daha büyük aralıkları temsil edebilen, ancak daha düşük kesinlik pahasına aynı miktarda bellek kullanan gerçek sayıların yaklaşıklarıdır. Sorunuz küçük aritmetik hatalar (örn. Neden 0.2 + 0.1, 0.300000001'e eşittir?) Veya ondalık dönüştürme hatalarıyla ilgili ise, göndermeden önce lütfen aşağıda verilen "bilgi" sayfasını okuyun.

30
Kayan nokta matematiği kırık mı?
На этот вопрос есть ответы на yığın taşması на русском : Вычисления на числах с плавающей точкой не работают Aşağıdaki kodu göz önünde bulundurun: 0.1 + 0.2 == 0.3 -> false 0.1 + 0.2 -> 0.30000000000000004 Bu yanlışlıklar neden oluyor?


12
GCC neden * a * a * a * a * a - (a * a * a) * (a * a * a) 'yı optimize etmiyor?
Bilimsel bir uygulama üzerinde bazı sayısal optimizasyonlar yapıyorum. Fark ettiğim bir şey, GCC'nin çağrıyı pow(a,2)derleyerek optimize edeceğidir a*a, ancak çağrı pow(a,6)optimize edilmemiştir ve aslında kütüphane işlevini çağıracaktır pow, bu da performansı büyük ölçüde yavaşlatır. (Buna karşılık, çalıştırılabilir Intel C ++ Derleyicisiicc kitaplık çağrısını ortadan kaldıracaktır pow(a,6).) Ne hakkında merak ediyorum …






7
HTML5'te kayan giriş türü var mı?
Html5.org'a göre , "sayı" girdi türünün "değer özniteliği, belirtilir ve boş değilse, geçerli bir kayan nokta sayısı olan bir değere sahip olmalıdır." Yine de (sadece Chrome'un en son sürümünde), tamsayılarla bir "yukarı yönlü" kontrol, kayan değil: <input type="number" id="totalAmt"></input> Kod snippet'ini çalıştırSonuçları gizleSnippet'i genişlet HTML5'e özgü bir kayan nokta giriş …




14
Ondalık Sayı'yı Çifte Dönüştür
Track-BarBir Formopaklığı değiştirmek için bir kullanmak istiyorum . Bu benim kodum: decimal trans = trackBar1.Value / 5000; this.Opacity = trans; Uygulamayı oluşturduğumda, şu hatayı veriyor: Dolaylı türünü dönüştürülemez decimaliçindouble Kullanmayı denedim transve doublesonra Controlçalışmıyor. Bu kod, geçmiş bir VB.NET projesinde iyi çalıştı.

30
JavaScript'te kayan nokta sayısı hassasiyeti ile nasıl başa çıkılır?
Aşağıdaki kukla test komut dosyası var: function test() { var x = 0.1 * 0.2; document.write(x); } test(); Kod snippet'ini çalıştırSonuçları gizleSnippet'i genişlet Bu, 0.020000000000000004yalnızca yazdırılması gereken sonucu yazdırır 0.02(hesap makinenizi kullanırsanız). Anladığım kadarıyla bu kayan nokta çarpma hassasiyetindeki hatalardan kaynaklanıyor. Böyle bir durumda doğru sonucu elde edebilmek için iyi …

5
Math.round (0.49999999999999994) neden 1 döndürüyor?
Aşağıdaki programda, her bir değerin .5, dışında, aşağı doğru yuvarlandığını görebilirsiniz 0.5. for (int i = 10; i >= 0; i--) { long l = Double.doubleToLongBits(i + 0.5); double x; do { x = Double.longBitsToDouble(l); System.out.println(x + " rounded is " + Math.round(x)); l--; } while (Math.round(x) > i); } …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.