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 Reader

butch

Yine bir RSS okuyucu. Ama her zaman olduğu gibi google yorumu herşeyi değiştiriyor. İşte Google Reader. Tabi ki BETA.

Google film yapımı için para sağladı

melitical

Google'ın kurucuları Sergey Brin ve Larry Page yakın bir arkadaşlarının yapacağı bağımsız filmin finansmanına yardım edecekler.

Kaynak: forbes

Go 1.8 ile milisaniyeden kısa süren çöp toplamalar

tongucyumruk

Google'ın 2010 yılında, tam da biz çıkarıldığı günü gönül rahatlığıyla kutlayamayalım diye 10 Kasım'da duyurduğu programlama dili Go, bu sıralar yazılım geliştirme dünyasını ciddi biçimde sallıyor.

Generic'lerin eksikliği, hata yakalama konusundaki pek çok insana itici gelen yöntemleri gibi sebeplerle Go çok tartışılan bir dil olsa da herkesin kabul ettiği bir yönü var: Performans!...

Bitirme Tezi ve Google Master Plan

meddah

Ozan Halıcı ve Jürgen Mayer'in yapımcılığını ve yönetmenliğini üstlendikleri, bitirme tezi için hazırlanmış kısa filmlerinde "what barry says" ve "the google story"den ilham aldıklarından söz ediyorlar.

Filmin resmi sitesine buradan erişebilirsiniz.

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.