Google her zaman doğru yapmıyormuş!

0
anonim
Google dünyanın en büyük IT şirketlerinden biri olma yolunda emin adımlarla ilerliyor, ve bünyesinde konusunda dünyanın en uzman adamlarını çalıştırıyor, bu çalışanlar herşeyi en iyi yolla yapabiliyorlar fakat normal matematiksel çıkartmayı yapamıyorlar! :). İsterseniz bir deneyin

Kaynak: digg.com

Görüşler

0
lukap
Bu python'dan kaynaklanan bir bug. Google ekstra bir kontrol yapmayıp direk python yorumlayıcısına gönderiyor inputları sanırım.
0
anonim
1 - 0.1 = 0.9 1 - 0.9 = 0.1 1 - 0.1 - 0.9 = 0 1 - 0.9 - 0.1 = -2.77555756 × 10-17 1 - 0.3 - 0.7 = 0 1 - 0.7 - 0.3 = 5.55111512 × 10-17 Hmm. Nasil bir bugmis bu merak ettim.
0
anonim
1 - 0.1 = 0.9
1 - 0.9 = 0.1
1 - 0.1 - 0.9 = 0
1 - 0.9 - 0.1 = -2.77555756 × 10-17
1 - 0.3 - 0.7 = 0
1 - 0.7 - 0.3 = 5.55111512 × 10-17

crlf ler gitmis onceki postta. duzelttim.
0
anonim
Yanlış hatırlamıyorsam "Binary floating-point arithmetic" ile ilgili bir hataydı bu. Bu adreste, Guido van Rossum ve Fred L. Drake'in kitabından alınma bir makalede konu anlatılmakta.
0
KaranliklarinFatihi
doğru cevabı Yahoo'veriyor işte burda
0
simor
skandal.!. :) Acaba çıkan rakam birşey ifade ediyormu?
0
tongucyumruk
Hmm... Bana Common Lisp propagandası yapmak için uygun biryer gibi göründü... Sorun kayar noktalı sayıların hassasiyetiyle ilgili bir sorun gibi gözüküyor. Hemen SBCL'e soruyoruz.
CL-USER> (- (- 1 0.9) 0.1)

2.2351742e-8

CL-USER> 

Hmm... sanki aynı "bug" sbcl'de de var gibi... Bir de şöyle deneyelim bakalım:

CL-USER> (- (- 1 9/10) 1/10)

0

CL-USER> 

Voila! You made it! Demekki neymiş, CL'in sayıları ondalık olarak göstermesi (mesela (/ 1 3) işlemi 1/3 verecektir 0.33333 değil) görsel güzelliğin ötesinde şeylere de yarıyormuş
0
fkoksal
Google hala ısrar ediyor ama !

Acaba dogru sonuc bu mu yahu, google bu kadar ısrar ettigine gore bir bildikleri vardır elbet ;-)

0
FZ
Madem konu Lisp'ten açıldı ben de bir tür Lisp olan Scheme ile birkaç deneme yaptım. Önce evdeki Debian GNU/Linux sistemime bağlanıp MIT Scheme ile denedim:

1 ]=> (- (- 1 0.9) 0.1)


;Value: -2.7755575615628914e-17


1 ]=> (- (- 1 9/10) 1/10)


;Value: 0

Steel Bank Common Lisp'e (SBCL) benzer sonuçlar elde ettim. Bu beni tatmin etmedi bir de MS Windows makinamdaki Dr. Scheme ortamında (PLT Scheme implementasyonu) deneyeyim dedim, sonuçlar şaşırtıcı idi:

> (- (- 1 0.9) 0.1)

0


> (- (- 1 9/10) 1/10)

0

Lisp: Put the "fun" back into programming... diyebilir miyiz acaba? Yani daha az küfrederek kod yazmak filan ;-)
0
anonim
enteresan bi böcüg
0
East
Aslına her dilde yok mu bu tip virgülden sonraki basamaklara dayalı hatalar. Bu iş daha çok sayıların yazıldığı bitlerin aslında sayıyı tam olarak x.yyyyyy.... ya da x.yyyy....y(n) şeklinde ifade edememesinden kaynaklanıyor benim bildiğim kadarıyla. Özellikle tip belirtirken çok baş ağrısı yapabiliyor ya da bir çok veri girişiniz ve çıkışınız varsa ve bir bilimsel hesaplama yapıyorsanız bu hangi n inci basamaktan sonra sayının düzenin bozulduğu önemli bir konu. mesela fortranda ; real:: a a = 0,00000001 print*,*"a=",a dediğimiz zaman sayı direk sıfır olarak tanınabiliyor.ve ekrana a=0 olara basılıyor.tabi derleyiciden derleyiciye bu hassasiyet değişiyor.
0
FZ

$ echo "1 - 0.9 - 0.1" | bc

0

bc - An arbitrary precision calculator language :) Dr.Scheme ve bc'ye saygılar ;-)
0
intelligenc
sanırım sorunu sadece 1 ile çünkü 1 harici diğer sayılarla sorun yok, yani cevabı doğru veriyor
0
bm
Burada bir bug yok aslinda. TY'nin dedigi gibi yapilan is anlamamis. Herneyse, sunu tavsiye ediyorum: What Every Computer Scientist Should Know About Floating-Point. Arithmetic. (pdf).
0
Challenger
Aynı durum PHP' de de var: echo 1 - 0.9 - 0.1; -2.77555756156E-017 Ancak yuvarlama yaparsanız (örneğin ondalık basamak sayısını 8' de sınırlarsanız): echo round(1 - 0.9 - 0.1, 8); 0 Perl' de de aynı sonuç alınacağından eminim :)
0
anonim
bende dedimki hemen bir javada deneyeyim işte
Welcome to DrJava.
> 1 - 0.9 - 0.1
-2.7755575615628914E-17
>
bu konu hakkında aslında daha önce python yazılarında bişeyler okumuştum. ama linkini bulamadım bulduğumda linkini buraya atacağım. ama bu hata kayan noktalı sayılarda genel birşey. pythonda şu şekilde gösterebilirim.
>>> 1-0.9-0.1
-2.7755575615628914e-17
>>> 0.9
0.90000000000000002
asıl sorun burda
>>> 0.1
0.10000000000000001

Hatta c de ufak bir deneme yapalım.
[muhammed@localhost tmp]$ cat kn.c
#include
int main(int argc, char *argv[]){
double d = 1 - 0.9 - 0.1;
printf("%e\ ", d);
return 0;
}
[xmaster@localhost tmp]$ gcc -o kn kn.c
[xmaster@localhost tmp]$ ./kn
-2.775558e-17
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Google'a kopya haber davası

Soulblighter

Fransız haber ajansı AFP, kendi haberlerini telif hakkı ödemeden internette yayınladığı iddiasıyla Google News'a dava açtı.

Washington'da açılan davada AFP, Google'dan 17.5 milyon dolar tazminat talep ediyor. İnternette haber dolaşımının önüne hukuki engeller koyması beklenen davanın, gelecekte telifli haberlerin korunmasına yönelik yeni şartlar getireceği düşünülüyor.

Google OS olabilir mi?

TiberiusKirk

osnews.com'da yer alan makaleye göre, Google ve Microsoft arasında başlayan arama motoru rekabeti dramatik biçimde vites büyütüyor...

Acaba Google OS diye bir şey olabilir mi? Google hedef büyütüp insanlara çok daha geniş ve güçlü bir kullanım şekli sunabilir mi? Halihazırda elinde en güçlü arama mekanizmalarından biri mevcut, haber servisleri, her yerden erişilebilir ve çok kolay kullanılabilir bir e-posta... Her kullanıcısına 1 GB alan yerine 10 GB alan verdiğini, dosya izin ve paylaşım mekanizmasını kurduğunu, hızlı bir Internet bağlantınız olduğunu düşünün. Nereye giderseniz gidin, hangi bilgisayarı kullanırsanız veriniz erişilebilir durumda. Yeni bir işletim sistemi ya da yeni bir uygulama süiti ya da belki yepyeni kavramlar...

Linux için Google Desktop

parsifal

Linux için Google Desktop aramızda...

Google Earth Sayesinde Kalıntılar Bulundu

melitical

İtalyan bilgisayar programcısı Luci Mori, Google Earth ve Google Map 'i kullanarak Parma yakınlarında Romalılara ait tarihi bir villanın kalıntılarını buldu.

Google'dan Dev Adım: Google TiSP

parsifal

Google, TiSP projesi ile yine adından söz ettirmeyi başardı :)