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 dan yeni bir ürün...

anonim

Blender dan sonra yazılım dünyası galiba bir tane daha free (daha doğrusu beleş) 3D yazılımı kazanıyor...

İlgilenenleri Sketchup Google adresine bekleriz! ;)

Google basın günü haberleri

larweda

Bugün Google Press Day adında bir basın toplantıları zinciri düzenledi. Webcast'i ve programı burada, (şu an hala devam ediyor). İzleyen bir arkadaşın yorumları ve özetleri de burada.

Benim özetlemek istediğim, bugün yapılan 4 yeni duyuru var:

Google ile Bloglar da Aranacak

melitical

Google blogların aranmasını sağlayan bir hizmet başlatıyor. Bu şekilde, sadece google 'ın sahibi olduğu blogger.com 'a kayıtlı bloglar değil, internetteki tüm bloglar aranabilecek. Şimdilik sadece haziran 2005 sonrası gönderilenler kayıt edilebiliyor fakat bloglardaki daha eski yazılarında sisteme kayıt edilmeye çalışıldığı google tarafından bildirildi. Bu hizmet sayesinde bloglardaki spesifik yazılara da ulaşılabilecek.
news.bbc.co.uk

Google Yardımıyla Kendi TLD'nizi Yönetin: Nomulus

tongucyumruk

Eğer alan adı dünyasını bir süredir takip ediyorsanız biliyorsunuzdur, uzun bir süredir ICANN'in "para varsa varım" politikası sayesinde gerekli ücreti ödeyip altyapınızı da kurduktan sonra .ninja, .xyz veya .google gibi kendi TLD'nizi (TLD = Top Level Domain, Üst Seviye Alan Adı) kurabiliyorsunuz.

Google sayesinde, artık kendi TLD'nizi çok daha kolay bir şekilde kurup...

Google Instant Messenger

sundance

Biliyoruz, Google onu yaptı, google bunu yaptı haberlerinden sizlere gına geldi, ama ne yapalım, herkes seyrediyor Google ise yapmaya devam ediyor.

Son olarak Google bir anında mesajlaşma yazılım şirketini satın almış. Bildiğiniz gibi, uzun bir süredir Google'ın jabber tabanlı (doğrusu bu;) bir anında mesajlaşma yazılımı üzerinde çalıştığının söylentileri vardı. Ama bu hareketle, kullanıcıların dünya üstünde bulundukları yere göre arama vs. yapabilen, değişik bir sistemi satın almış bulunmaktalar.

Yapı Kredi Bankası'nın kurucusu Kazım Taşkent'in bir sözü var "İlk yap, en iyisini yap, herşey değişsin". Sanırım Google'cılar da bu yolda.