🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215630

Re: Porównywanie liczb, double float

#215630
From: Pszemol
Date: Thu, 13 Jun 2019 13:43
41 lines
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-mail
References: <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