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 Online Uygulama Paketi

parsifal

Web Worker Daily'daki habere göre Web 2.0 Expo fuarında konuşan Google CEO'su Eric Schmidt powerpoint tipi sunum uygulamasının bu yaz aramızda olacağı müjdesini verdi. Google'ın online uygulama paketinde neler olacağı konusunda WWD, Phil Sim'in blog'unuda dikkate alarak 8 tahminde bulunmuş.

SPeeDY

parsifal

Http protokolü ile yetinmiyen Google web'i daha hızlı getirmenin yollarında SPDY protokolü ile karşımızda...
SPDY ile Google;
- Tek bir TCP bağlantı üzerinden birden çok HTTP isteği,
- Lüzumsuz headerları kaldırıp kalanları sıkıştırmak,
- SSL'i temel protokol olarak kullanmak,
- Sayfa yüklemelerini %50 oranında azaltma gibi pek çok yeniliği hedefliyor.

WhatsApp, Signal, BlackBerry Messenger ve Diğerleri: Hangisini Kullanmalı? Neden? #1

Zakkum

İnternetin her geçen gün daha fazla hayatımızın içine girmesi güvenlik konusunu daha sık ve geniş ölçekte tartışılır hale getirdi. Özellikle son yıllarda internet üzerinden gerçekleşen ifşa hareketleri (Wikileaks, Snowden, Panama Belgeleri vs.) konuyu haliyle daha da alevlendirdi. Bugün artık herhangi bir şüpheye yer bırakmadan biliyoruz ki kullandığımız internet artık bir kitlesel gözetleme...

Google Code Jam'05 Sonuçları Açıklandı!

Ragnor

Evet kazananlar belli oldu. Birinciye verilecek olan 10.000$'lık ödülü Polonya'dan, Varşova Üniversitesi'nden Mark Cygan kazandı. İkinci Hollanda'dan, Twente Üniversitesi'nden Erik-Jan Krijgsman, üçüncü ise Moskova Eyalet Üniversitesi'nden Pyotr Mitritchew.

İlgili habere ulaşmak için buraya ve Google Code Jam'05 hakkında daha fazla bilgi almak için ise buraya bakabilirsiniz.

Google Talk!

goktan

Bir süredir beklenen oldu ve sonunda Google yeni IM servisini "tabiki" beta olarak kullanıma açtı.