Article View: pl.comp.programming
Article #215630Re: Porównywanie liczb, double float
From: Pszemol
Date: Thu, 13 Jun 2019 13:43
Date: Thu, 13 Jun 2019 13:43
41 lines
2869 bytes
2869 bytes
"bartekltg" <bartekltg@gmail.com> wrote in message news:a843c978-5bcc-4a8a-97bd-67b77c7defe7@googlegroups.com... > Używaj funkcji abs, to samo, a czytelniej. Słuszna uwaga - dzięki. > W sumei to pierwsz rzecz, jakiej człowiek sie dowiaduja na jakimkolwiek > poważniejsyzm kursie dotykającym zmiennego przecinka. Ze szczegolnym > uwzlgędnieniem > "Nie wykonuj porównania == i <> na liczbach zmiennoprzecinkowych" I tyle mi zostało w głowie bo właśnie to <> mi się rzuciło w oczy i zacząłem tam badać. Ale już wyleciała z głowy interpretacja "dlaczego". > A jaka przyczyna? To przy okazji opisują. > > Zerknij na wiki, jak wyglada liczba zmiennoprzecinkowa. > > 2^coś *1.mantysa. > > 1/2 tak zapiszesz, ale 1/3 nie. 1/10 też nie. > Zerknij tutaj, > https://www.h-schmidt.net/FloatConverter/IEEE754.html > Liczy na single, ale zasada ta sama. > wpisując 1.8 tak naprawdę trzymasz najbliższa > reprezentaowalną liczbę, 1.7999999523162841796875 > Podobnie 32.8. > 31 jest reprezentowane dokładnie. > > Teraz każda podstawowa operacja arytmetyczna biorąca argumenty > a i b (oznaczamy fl(a) i fl(b) jako wartośći reprezentowane) liczy > fl(a) (działanie) fl(b) dokładnie, a potem zapisuje jako najbliższa > reprezentowalna wartość. > > W ogolności > fl(a+b) = (fl(a)+fl(b))(1+eps), gdize ten epsylon to dokłądność > reprezentacji. Dzięki. Wartościowe odświeżenie sobie w głowie ważnego detalu z dziedziny programowania!
Technical Details
Message-ID:
<qdtjt2$7is$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!border1.nntp.ams1.giganews.com!nntp.giganews.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mailReferences:
<qdqqh6$n2f$1@dont-email.me> <a843c978-5bcc-4a8a-97bd-67b77c7defe7@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!border1.nntp.ams1.giganews.com!nntp.giganews.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: "Pszemol" <Pszemol@PolBox.com> Newsgroups: pl.comp.programming Subject: Re: Porównywanie liczb, double float Date: Thu, 13 Jun 2019 08:43:03 -0500 Organization: A noiseless patient Spider Lines: 41 Message-ID: <qdtjt2$7is$1@dont-email.me> References: <qdqqh6$n2f$1@dont-email.me> <a843c978-5bcc-4a8a-97bd-67b77c7defe7@googlegroups.com> Reply-To: "Pszemol" <Pszemol@BigFoot.com> Mime-Version: 1.0 Injection-Date: Thu, 13 Jun 2019 13:42:58 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="92d1e4c9f4a24b8937c64c00c2c50159"; logging-data="7772"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18MhpmUK5NWi8dFZfFxe7Up" Cancel-Lock: sha1:kC9gt0CBxbKvEoBB+wKWAMNnJ+E= X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8117.416 In-Reply-To: <a843c978-5bcc-4a8a-97bd-67b77c7defe7@googlegroups.com> X-Newsreader: Microsoft Windows Live Mail 14.0.8117.416 Importance: Normal X-Priority: 3 X-MSMail-Priority: Normal X-Original-Lines: 2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit