🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #451

Re: Bledne zaokraglanie ulamkow

#451
From: Lukasz Kuznia
Date: Sat, 28 Dec 2002 23:29
54 lines
2518 bytes
> Bzdura:
> Po pierwsze:
> 31,97 = $1F.61 = $1.F61 * 16.
>
> Znak: 0
> Cecha: $F61
> Mantysa: 4

Proponuje troche poczytac na temat reprezentacji liczb zmiennoprzecinkowych
w maszynach cyfrowych (mantysa, cecha etc. w fl)

> Po drugie:
> #v+
>    /* Number of decimal digits of precision in a double */
> #define DBL_DIG 15
> #v-
> (cytat z float.h). Czyli każda liczba o mniej niż 15 cyfrach po przecinku
> jest w double reprezentowana DOKŁADNIE.

Znaczenie tej stalej mozna znalezc w opisie ISO C, ale zareczam ze nie jest
tak kolorowo jak piszesz.

> > czyli też w typie
> > float w Pythonie. To, co dostajesz, jest najlepszym przybliżeniem.
>
> Python ma jakieś niejasne zasady precyzji artmetyki. Ktoś wie jakie ?


Ma bardzo jasne i klarowne. Tylko rzeczywistosc arytmetyki fl wprawia w
zdumienie.

>
> > Po przetłumaczeniu na ułamek dziesiętny widać, że to ciut mniej
> > niż 31.97; następna reprezentowalna wartość jest ciut większa niż
> > 31.97. Więc co chcesz uzyskać? Dokładna liczba 31.97 w typie float
> > nie istnieje.
>
> Taak ?
> #v+
>    /* Number of decimal digits of precision in a float */
> #define FLT_DIG 6
> #v-

ISO C
> > str pokazuje o jedną mniej cyfr niż repr, więc str od Twojej liczby
> > da '31.97'. Więc nie przejmuj się, że jak się ją wpisze w prompcie,
> > to widać więcej cyfr (to jest wyświetlane przez repr).
>
> Fajnie by było wiedzieć jaką logiką kieruje się tutaj python.

repr wyswietla 17 cyfr znaczacych, str 12

Pozdrawiam,
Lukasz Kuznia
Technical Details
Message-ID: <aulbvf$jvq$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!not-for-mail
References: <3e09e4d7.2127062@news.icpnet.pl> <slrnb0jrgs.u54.qrczak@qrnik.zagroda> <853jua-58g.ln@fastviper.viper.lan>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!not-for-mail
From: "Lukasz Kuznia" <vanctech@poczta.onet.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: Bledne zaokraglanie ulamkow
Date: Sun, 29 Dec 2002 00:29:44 +0100
Organization: news.onet.pl
Lines: 57
Sender: vanctech@poczta.onet.pl@vip1.sisco.pl
Message-ID: <aulbvf$jvq$1@news.onet.pl>
References: <3e09e4d7.2127062@news.icpnet.pl> <slrnb0jrgs.u54.qrczak@qrnik.zagroda> <853jua-58g.ln@fastviper.viper.lan>
NNTP-Posting-Host: vip1.sisco.pl
X-Trace: news.onet.pl 1041117999 20474 80.48.57.10 (28 Dec 2002 23:26:39 GMT)
X-Complaints-To: abuse@onet.pl
NNTP-Posting-Date: 28 Dec 2002 23:26:39 GMT
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit