Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #84167

Re: C++ (and some C) quiz questions

Path csiph.com!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c++
Subject Re: C++ (and some C) quiz questions
Date Wed, 18 May 2022 06:57:34 -0700
Organization A noiseless patient Spider
Lines 53
Message-ID <8635h72bap.fsf@linuxsc.com> (permalink)
References <t5tc3s$164p$1@gioia.aioe.org> <t5u3kb$h0k$1@dont-email.me> <t5u6es$a95$1@dont-email.me> <t5u6uh$e6l$1@dont-email.me> <t5v928$1h9n$1@gioia.aioe.org> <87czgcqxgc.fsf@bsb.me.uk> <86o7zw2x55.fsf@linuxsc.com> <t61tbu$1dmq$1@gioia.aioe.org> <t62lbd$12vc$1@gioia.aioe.org>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Injection-Info reader02.eternal-september.org; posting-host="949c0842145859edcf085e16a5bb4ce2"; logging-data="18180"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+zqye1j3KoZYT1tsoIK7JpX/0Y+IiUe14="
User-Agent Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock sha1:MV2re7NApfnSCZZQJPEkOURoXYc= sha1:E61gmo489CIEqquxeNLp+TSQpas=
Xref csiph.com comp.lang.c++:84167

Show key headers only | View raw


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.

Back to comp.lang.c++ | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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