Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #84170
| From | Paavo Helde <eesnimi@osa.pri.ee> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: C++ (and some C) quiz questions |
| Date | 2022-05-18 17:37 +0300 |
| Organization | A noiseless patient Spider |
| Message-ID | <t630am$4kh$1@dont-email.me> (permalink) |
| References | (5 earlier) <87czgcqxgc.fsf@bsb.me.uk> <86o7zw2x55.fsf@linuxsc.com> <t61tbu$1dmq$1@gioia.aioe.org> <t62lbd$12vc$1@gioia.aioe.org> <8635h72bap.fsf@linuxsc.com> |
18.05.2022 16:57 Tim Rentsch kirjutas: > Manfred <noname@add.invalid> writes: > >> On 5/18/2022 6:40 AM, Juha Nieminen wrote: >> >>> Tim Rentsch <tr.17687@z991.linuxsc.com> wrote: >>> >>>> But that doesn't change the problem of potential loss of >>>> precision, because the representation (and hence the particular >>>> value) of the constant 0.1 is chosen before that value is >>>> converted to long double. The constant 0.1, being of type >>>> double, doesn't have to have less precision than 0.1L, but >>>> certainly it can. >>> >>> AFAIK no C/C++ compiler will second-guess the programmer and assume that >>> the literal was meant to be a long double literal. If you specify a >>> literal of type double, the compiler will assume you meant it (and will >>> just convert it to double without adding any precision to the resulting >>> value.) >>> >>> With double vs. long double the loss in precision isn't extremely >>> drastic (although in some calculations it could accumulate to significant >>> proportions). However, people often make the mistake when they are using >>> some third-party multiple-precision libraries that support floating point >>> values of arbitrary size. If you are calculating with eg. 1024-bit >>> floating point, make sure you initialize them properly (ie. do not >>> initialize such a value with eg. the literal 0.1). >> >> I believe Tim was referring to the fact that the standard does not >> mandate for long double to have more precision than double. > > That is one possibility, but I didn't mean just that. > > Here is the original context: > > long double value = 0.1; > > I'm not sure what C++ allows or doesn't allow for the value of > the literal 0.1. > > For C, my understanding is that the current C standard allows the > constant 0.1 to be represented in the format, and precision, of a > long double even though its type is double. (The rules for > floating constants in C has changed over time so I'm not sure if > that allowance might be different for earlier C standards.) > > The next C standard apparently will be explicit on this point - > in the n2731 draft of the C standard, section 6.4.4.2 paragraph 6 > says this in part: > > The values of floating constants may be represented in > greater range and precision than that required by the type > (determined by the suffix); the types are not changed > thereby. Doesn't it just mean that in the program code, one can write the literal with more precision than needed, just in case the type may have more precision in another or future implementation? const double pi = 3.141592653589793238462643383279502884197;
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
C++ (and some C) quiz questions Juha Nieminen <nospam@thanks.invalid> - 2022-05-16 11:21 +0000
Re: C++ (and some C) quiz questions Paavo Helde <eesnimi@osa.pri.ee> - 2022-05-16 17:35 +0300
Re: C++ (and some C) quiz questions Juha Nieminen <nospam@thanks.invalid> - 2022-05-16 16:13 +0000
Re: C++ (and some C) quiz questions Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-05-16 10:49 -0700
Re: C++ (and some C) quiz questions Christian Gollwitzer <auriocus@gmx.de> - 2022-05-16 20:02 +0200
Re: C++ (and some C) quiz questions "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-05-16 20:51 +0200
Re: C++ (and some C) quiz questions Christian Gollwitzer <auriocus@gmx.de> - 2022-05-16 20:59 +0200
Re: C++ (and some C) quiz questions Manfred <noname@add.invalid> - 2022-05-16 21:55 +0200
Re: C++ (and some C) quiz questions Christian Gollwitzer <auriocus@gmx.de> - 2022-05-16 22:09 +0200
Re: C++ (and some C) quiz questions Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-05-16 13:47 -0700
Re: C++ (and some C) quiz questions Ben <ben.usenet@bsb.me.uk> - 2022-05-16 22:19 +0100
Re: C++ (and some C) quiz questions Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-05-16 14:52 -0700
Re: C++ (and some C) quiz questions Ben <ben.usenet@bsb.me.uk> - 2022-05-16 22:57 +0100
Re: C++ (and some C) quiz questions Paavo Helde <eesnimi@osa.pri.ee> - 2022-05-17 00:54 +0300
Re: C++ (and some C) quiz questions Ben <ben.usenet@bsb.me.uk> - 2022-05-17 00:34 +0100
Re: C++ (and some C) quiz questions Christian Gollwitzer <auriocus@gmx.de> - 2022-05-17 08:24 +0200
Re: C++ (and some C) quiz questions Juha Nieminen <nospam@thanks.invalid> - 2022-05-17 08:21 +0000
Re: C++ (and some C) quiz questions Ben <ben.usenet@bsb.me.uk> - 2022-05-17 11:06 +0100
Re: C++ (and some C) quiz questions Juha Nieminen <nospam@thanks.invalid> - 2022-05-17 04:41 +0000
Re: C++ (and some C) quiz questions Ben <ben.usenet@bsb.me.uk> - 2022-05-17 11:12 +0100
Re: C++ (and some C) quiz questions Paavo Helde <eesnimi@osa.pri.ee> - 2022-05-17 14:37 +0300
Re: C++ (and some C) quiz questions Ben <ben.usenet@bsb.me.uk> - 2022-05-17 14:31 +0100
Re: C++ (and some C) quiz questions Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-05-17 04:53 -0700
Re: C++ (and some C) quiz questions Juha Nieminen <nospam@thanks.invalid> - 2022-05-18 04:40 +0000
Re: C++ (and some C) quiz questions Manfred <noname@add.invalid> - 2022-05-18 13:29 +0200
Re: C++ (and some C) quiz questions Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-05-18 06:57 -0700
Re: C++ (and some C) quiz questions Paavo Helde <eesnimi@osa.pri.ee> - 2022-05-18 17:37 +0300
Re: C++ (and some C) quiz questions Juha Nieminen <nospam@thanks.invalid> - 2022-05-19 14:43 +0000
Re: C++ (and some C) quiz questions Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-05-19 08:21 -0700
Re: C++ (and some C) quiz questions Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-05-18 06:01 -0700
csiph-web