Article View: pl.comp.os.linux.programowanie
Article #223perl - banalny problem?
From: Piotr Woszczynski
Date: Thu, 09 Sep 1999 05:32
Date: Thu, 09 Sep 1999 05:32
44 lines
2135 bytes
2135 bytes
Hej!
Ostatnimi czasy natchnelo mnie do nauki perla (tak na poczatek). Jezyk
wydaje mi sie w miare prosty i przejrzysty, z olbrzymimi mozliwosciami,
ale... No wlasnie.
Napisalem cos takiego:
#! /usr/bin/perl
$dx=0.01;
$nx=950;
while ($nx < 1000){
$nx += $dx;
print "nowe nx=$nx\n";
}
Prawda ze banal?
Uruchomilem... i zbaranialem. Otoz w pewnym momencie programik zaczal
wypluwac wyniki typu (tak troche z pamieci bo pisze ten post z windy):
nowe nx=960.0599998898
nowe nx=960.0699998898
itd.
Zaznaczam ze dla wartosci $dx calkowitych ta przypadlosc nie zachodzi,
dla mniejszej liczby iteracji tez nie.
Domyslam sie ze pewnie na wysokosci 1E-7 (powiedzmy) "zamiata" jakies
smieci z pamieci, co powoduje przy odpowiedniej liczbie iteracji
propagacje bledu i wyniki sa takie jakie sa. W jaki sposob mozna to
obejsc (czy w ogole jest na to jakis sposob)? Zaczalem podejrzewac ze
moze procek jest nieco padniety i wprowadza przeklamania, ale tez nie,
sprawdzalem na 2 roznych kompach i wyniki mniej wiecej te same. Z reszta
parokrotnie na obu kompach przekompilowywalem jadro linuxa i calos jakos
chodzi...
Probowalem byc takze "chytry" w ten sposob ze podawalem (nieco na
lopatologicznie)
$dx=0.0100000000000000000000000000000000000000000000000
i ten sam wynik. Pewnie ze mozna uznac ze jest to przyblizenie, ale tak
wygenerowane liczby maja mi sluzyc do porownywania z wartosciami
wprowadzonymi, a w tym przypadku perl staje sie bardzo konsekwentny i
wcale nie uwaza ze (w zasadzie slusznie) ze wartosc np. 960.06 =
960.0599998898
Any idea?
Piotr
Technical Details
Message-ID:
<37D7467F.4FFB7171@icso.com.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!not-for-mail From: Piotr Woszczynski <woszcz@icso.com.pl> Newsgroups: pl.comp.os.linux.programowanie Subject: perl - banalny problem? Date: Thu, 09 Sep 1999 07:32:47 +0200 Organization: ICSO Lines: 44 Message-ID: <37D7467F.4FFB7171@icso.com.pl> NNTP-Posting-Host: sbg66.icso.com.pl Mime-Version: 1.0 X-Mailer: Mozilla 4.07 [pl] (Win95; I) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit