🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215735

Re: Porównywanie liczb, double float

#215735
From: Piotrne
Date: Thu, 20 Jun 2019 12:16
24 lines
2678 bytes
W dniu 2019-06-12 o 17:27, J.F. pisze:

>> Weź chłopie ić na studia (ja miałem to nawet na wieczorowych 20 lat temu) i się doucz! Zamiast
>> zadawać głupie pytania. Choć gdybyś dłubał w czymś innym niż VB to byś wiedział o problemie (w
>> każdej książce do Asemblera czy C czy C++ to powinno być).
> 
> Musialbym sobie przypomniec ... ale przy okazji Assemblera raczej nikt nie poruszal takiego watku.
> Przy C predzej, ale to gdzies na pograniczu.

Na studiach jest (powinien być?) cały przedmiot o nazwie "Arytmetyka maszyn cyfrowych",
gdzie na kilkudziesięciu godzinach wykładów można dokładnie dowiedzieć się, jak są
pamiętane liczby całkowite ze znakiem, bez znaku, zmiennoprzecinkowe, dlaczego i kiedy
występują błędy zaokrągleń itp. Można też dowiedzieć się, że warunek
"jeśli a jest równe b" przy rzeczywistych typach a, b to proszenie się o kłopoty.

Problemy nie zależą od języka programowania. Ułamka dziesiętnego 0.8 nie da się
w przyjętym sposobie zapisu liczb zmiennoprzecinkowych zapisać dokładnie - w układzie
dwójkowym jest to ułamek okresowy, ma nieskończenie wiele znaczących cyfr.
Nie można ich wszystkich pamiętać. Oczywistym rozwiązaniem pozwalającym uniknąć
błędów jest używanie tylko liczb całkowitych. Np. jeśli ma to być jakaś
kwota pieniędzy, należy liczyć w groszach (zawsze całkowitych), a nie złotówkach
i ułamkach złotego.

P.
Technical Details
Message-ID: <qeftee$439$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
References: <qdqqh6$n2f$1@dont-email.me> <Jk8ME.2$6r.0@fx19.fr7> <5d011a5d$0$524$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!weretis.net!feeder7.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: Piotrne <piotrne@poczta.onet.pl>
Newsgroups: pl.comp.programming,pl.misc.elektronika
Subject: Re: Porównywanie liczb, double float
Date: Thu, 20 Jun 2019 14:16:12 +0200
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <qeftee$439$1@dont-email.me>
References: <qdqqh6$n2f$1@dont-email.me> <Jk8ME.2$6r.0@fx19.fr7> <5d011a5d$0$524$65785112@news.neostrada.pl>
Mime-Version: 1.0
Injection-Date: Thu, 20 Jun 2019 12:16:14 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="c5c8063145014a63b5b12746f90dbce6"; logging-data="4201"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19adfzq4yWN+W3Yf/QvtwAu"
User-Agent: Mozilla/5.0 (Windows NT 5.2; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
Cancel-Lock: sha1:prl757jAmk/lkgnvoVse9VC7uuk=
In-Reply-To: <5d011a5d$0$524$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit