Yosemite hesap makinesi neden yanlış çalışıyor?


1

512'den küp kök (dahili yosemite hesap makinesi kullanarak) almaya çalıştı ve 7,9 (9) aldı. Bir çeşit yaklaşım mı? Kesin sonuç almak için ne yapmalıyım? screenshot with wrong result


Güzel bir resim. Daha eski OS X sürümünün Calculator.app uygulamasında, hassasiyeti View = & gt; Ondalık basamak. Sayıyı maksimum değerin altına düşürmek, yuvarlamaya neden olmalıdır. (Ve elbette, 1599'dan 13'e, 7.9999999999999999'a kadar tur atmak zorunda kaldım).
user187561

Yanıtlar:


3

Bu sadece kayan nokta aritmetik işlemlerinin ortak bir yan etkisidir.

Bu makaleye göz atın: http://en.wikipedia.org/wiki/Floating_point#Floating-point_arithmetic_operations

Mac OS Yosemite'de bunu düzeltmek için:

  1. Hesap Makinesi Uygulamasını açın
  2. İtibaren Görünüm menü seçin Ondalık ve ardından öğesini seçin. 14 .

Ayrıca, kayan nokta aritmetik işlemleri sayesinde benzer sorunların Microsoft Excel'de nasıl ortaya çıktığını da inceleyin: http://support.microsoft.com/kb/214118


10

Bu durumda "kesin" bir sonuç söylediğinizde, doğru cevap bir tamsayı olduğunda bir tamsayı sonucu almaktan bahsediyorsunuz.

Tamsayı sonuçları ve hesaplama yöntemleri

İşleve bağlı olarak, farklı işlevleri hesaplamak için kullanılan birkaç yaklaşım vardır. Tamsayı bir cevap alıp almamanız, ilgili belirli numaralara bağlı değildir. Bu işlev için kullanılan hesaplama yöntemine bağlıdır.

Hesaplama metodu tamsayı kullanıyorsa bir tamsayı sonucu alabilirsiniz. Aksi takdirde, hesaplama sadece doğru cevabın bir tamsayı olduğu belirli bir sayıya uygulandığı için bir tamsayı cevap alamazsınız.

  • İle gerçekleştirilebilecek işlevler tamsayı aritmetiği bir tamsayı cevap üretecektir.

  • Kökleri, kütükleri, trig işlevlerini ve diğerlerini içeren işlevler genellikle kayan nokta aritmetiği . Bu genellikle bilgisayarın tam olarak temsil edemediği değerleri içerir, bu nedenle sonuç yuvarlama veya kesme hatasından etkilenebilir.

  • Bazı fonksiyonlar için, cevabı doğrudan hesaplamanın pratik bir yolu yoktur. Bu kullanım yaklaşımları (sizi çok yakınlaştıran basitleştirilmiş bir hesaplama veya hata bir eşiğin altına düşene kadar bir formülün yinelenmesi).

Hassas

Tamsayı olmayan hesaplamalar, mevcut önemli basamak sayısının sağladığı kesinliğe bağlı bir sonuç üretecektir. Kesinlik, pratik, gerçek dünyadaki herhangi bir uygulamada fark yaratmayacak kadar iyidir.

Ancak, yorumlarda belirttiğiniz gibi sonuç kesin değildir ve matematiksel olarak “yanlış” olduğunu söyleyebiliriz çünkü kesin değildir. Bu, mevcut teknolojimizin bir kısıtlamasıdır. Bu donanım ve yazılım ile alabildiğiniz kadar yakın bir cevap.

Bununla birlikte, bağlam için, "işletme sınıfı" kişisel bilgisayarların (1970'lerin sonları) ve hesap makinelerinin (1970'lerin başındaki) genel mevcudiyetinden önce, hesaplamanın temelinin büyük ölçüde sayısal değerlerin yayınlanmış tabloları (genellikle dört veya beş ondalık basamağa kadar) veya slayt kuralları (üç anlamlı haneden biraz daha iyi). Bu hassasiyet düzeyi, modern dünyayı o zamana kadar inşa etmek için yeterliydi.

Sonuç gösteriliyor

Bazı yazılımlar, görüntülenecek önemli basamak sayısını ayarlamanıza izin verir ve sonuçlar genellikle bu düzeyde yuvarlanır. Örnekte, sonuç 8 olarak görüntülenir. Mac kullanmıyorum ancak user388043'ün cevabı, Görünüm menüsünden Yosemite Hesaplayıcıda buna nasıl erişileceğini açıklıyor.


4
Sonsuz sayıda ondalık basamak olsaydı, cevap doğru olurdu. Sorun, "yanlış" olması değil, yeterli ondalık basamak olmamasıdır. Ama çok yakın. Mevcut matematik müfredatında, okullar doğru cevap için geçecek. Bu konuda, 6 olur.
fixer1234

2
@ Andrew 8 - 7.999999… = 0.000000… Bu nedenle, sonsuz ondalık basamaklar varsayarak hiçbir fark yoktur.
slhck

1
@Andrew, açıklamadan asla gerçekten memnun kalmadığını biliyorum. İki yıl sonra, nihayet nasıl daha iyi açıklayabileceğim üzerine doğdu. Bu açık bir cevap mı? (Hala umursuyorsan)?
fixer1234

1
@Andrew, bu aslında revizyonda biraz vurmaya çalıştığım farklı ve ilginç bir soru. Bunun cevabı temel olarak “maliyet” / bilgisayar kaynakları / hız ve arz ve talep ile ilgilidir. Hesap makinesinde yer alan her işlev için bir şey yaptıysanız, cevabın bir tam sayı olduğu ve önce bir arama yaptığınız bir durum tablosuna sahipseniz kesin cevaplar alabilirsiniz. Bir başka yaklaşım, kayan nokta hesaplamasını yaptığınız, ters ardışık yaklaşımlar gibi bir şey olabilir. (Devamı)
fixer1234

1
Bu bir tamsayı bazı hata sınırı içinde ortaya çıkarsa, bunun tam cevabı üretip üretmediğini görmek için tam sayıyı test edersiniz. Bunu başarmanın bazı yolları var. Bu yaklaşımlar için bir "maliyet" var. Yeterli sayıda insan bu hassasiyet seviyesini talep ederse, bazı girişimci programcılar bunu üretebilir (ve kim bilir, şimdi orada örnekler olabilir). Kayan nokta hesaplamaları için rutinler iyi oluşturulmuştur ve hazırdır ve çoğu kişi ve çoğu durumda yeterlidir. Bu yüzden “tüketici” hesap makinesi uygulamalarının tümü yalnızca kayan nokta hesaplamaları kullanıyor.
fixer1234
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.