Alışılmadık kayan nokta hassasiyetiyle π saklamazlar. Çift hassasiyetli π için yanlış bir değer kullanıyorlar. To yaklaşır ikili 3.1415926536, en az 38 bit gereklidir:
3.14159265359922… > 11.001001000011111101101010100010001001
2 ^ -36'nın yaklaşık 1.5e-11 olduğuna dikkat edin, bu da arkadaki 99 ile çakışır. Çift kesinlikli kayar nokta 52 bitlik bir öneme sahiptir. cos(pi/2)
-5e-12 olarak değerlendirmek için , diğer tek seçenek 48 bitlik bir tip olacaktır ve bu çok garip olacaktır.
Türevin neredeyse sıfır olduğu 0 ve π yakınında, cos (θ) çok doğru bir şekilde hesaplanamaz:
cos(3.1415926536) ≈ -0.999999999999999999999947911
Bu -1 ile 5.2e-23 arasında değişir, bu da ε'dan daha küçüktür double
, bu yüzden tam olarak -1 ... cos(3.1415926536)
olarak hesaplanır, bu da yanlıştır.
± π / 2 yakınında, [ -sin (θ) ] türevi yaklaşık ± 1'dir, bu nedenle girişteki hata çıktı olur.
cos(1.57079632679961) ≈ -4.71338076867830836e-12
cos(1.57079632679962) ≈ -4.72338076867830836e-12
cos(1.57079632680000) ≈ -5.10338076867830836e-12
Daha az basamak görüntüleyen ve cos(π/2)
-5.2e-12 olarak hesaplayan bir TI hesap makinem var. Bununla birlikte, elektronik olarak çok farklıdır ve kesin bir değer vermek için tasarlanmıştır cos(90°)
.
Spotlight'ta, cos(pi/2)
π için bir değer alınarak, ondalık bir dizeye dönüştürülerek , (tam, rasyonel) ikili değer olarak 11.00100100001111110110101010001000100100001101101111 (veya 10000) olarak depolanarak, 2'ye bölünerek ve temelde gerçek değer tt / 2. cos(pi/2 + cos(pi/2))
Sıfıra daha yakın olup olmadığını öğrenmelisiniz (-2.2e-35 olabilir).
İki güçle çarpma, anlamlılığı değil, sadece üssü etkilemelidir. Tekrarlanan yarıya ya da iki katına çıkarak yuvarlamanın nasıl uygulanacağını belirlemek mümkün olabilir.