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 Urchin'i satın almak üzere

ether

Aaron Swartz'ın Google Weblog'daki haberine göre, ismi verilmeyen bir şahıs, Urchin web sitesi trafik analiz yazılımının Nisan ya da Mayıs ayalarında Google'a satılması ile ilgili bir kaç tüyo vermiş.

Google Hikayesi

anonim

Google Hikayesi, Google'ın kurucuları Larry Page ve Sergey Brin'in Stanford Üniversitesi'nde Google'ın ilk temellerini attıkları günlerden başlayarak, Google'ın kuruluşunu, gelişimini ve kurucularının başlarından geçen olayları anlatan bir kitap. 2005 yılında ABD'de yayınlanmış ve 2006 yılının başından itibaren Türkçe çevirisi ülkemizde yayınlanmaya başlanmış.

`Google Code Search´ Hacker'ların İşini Kolaylaştırıyor

Guardian

networkworld.com 'daki haberde Google'ın kasıtsız olarak hacker'lara yeni bir araç sunduğu belirtiliyor.

Google Maps API - KML desteği

auselen

Google Map APIsi artık KML/KMZ dosyalarını açıp sizi Google Earth kullanmak zorunluluğundan kurtaracak.

Web üzerinden çalışan eğlencelik uygulamalar geliştirmek için imkanlar sunan yeni API sayesinde bir çok veriyi daha kolay görselleştirebilirsiniz.

İşte bizim örneğimiz

Nereden esinlendiniz derseniz: buradan

Google Mobil Cihaz Görsel Aramalarına Hızlı Filtre Ekliyor

MuharremTuran

Google, görsel aramasının mobil sürümüne yeni bir filtre seçeneği ekledi. Arama yaptıktan sonra, arama kutusunun hemen altında, en son eklenen görseller, gif, küçük resim ve renkler filtrelemesi için hızlı filtreleme alanı sunuyor. Örneğin “kırmızı” yazıp arattığınızda, arama sonuçlarının en üstünde filtreleme menüsü görünüyor, daha fazla renk filtreleme seçeneği göstermek için çubuğu sola...