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


Groups > comp.lang.c > #66199

Re: Floating point to string, and back via `%a'...

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Floating point to string, and back via `%a'...
Date 2015-07-22 14:12 -0700
Organization None to speak of
Message-ID <lnk2tr28x9.fsf@kst-u.example.com> (permalink)
References <moorva$su7$1@speranza.aioe.org> <lntwsw0vur.fsf@kst-u.example.com> <mop0bg$6r8$1@speranza.aioe.org>

Show all headers | View raw


"Chris M. Thomasson" <nospam@nospam.nospam> writes:
>> "Keith Thompson" wrote in message news:lntwsw0vur.fsf@kst-u.example.com...
>
>> > "Chris M. Thomasson" <nospam@nospam.nospam> writes:
>> > How in the heck can I use the `%a' format specifier in
>> > conjunction with sprintf/sscanf so that I can convert a
>> > floating point to a string, and back? I have some code,
>> > but it does not work with `%a'. Damn!
> [...]
>> > http://codepad.org/yO2UisHn
>
>> Change "%a" to "%la" in your sscanf call (and leave it as "%a" in your
>> printf call).
>
> I am now thinking about something simple that "should work" for
> my application as long as I stick to a std representation of
> floating point numbers.
>
> http://codepad.org/UxAQn9oi
>
> #include <stdio.h>
>
> _______________________________________________________________
> int
> main(void)
> {
>     char buf[256] = { '\0' };
>     double no = 1.0123456789;
>
>     printf("no = %.10f\n\n", no);
>
>     /* try to use custom precision `%.10lf' with sprintf/sscanf */
>     {
>         sprintf(buf, "%.10lf", no);
>
>         double nc = 0.0;
>         int status = sscanf(buf, "%lf", &nc);
>
>         if (! status || status == EOF)
>         {
>             printf("sscanf %%lf error!\n");
>         }
>
>         printf("(%%s):buf = %s\n", buf);
>         printf("(%%f):nc = %f\n\n", nc);
>
>         printf("Hey man, why not simply use %.10lf as the public key? 
> :^D\n\n", nc);
>     }
>
>     return 0;
> }
> _______________________________________________________________
>
>
> What do you think Keith?
>
> Even if the precision of the public key is beyond %.10, well, it
> does not matter because I can use it after the "rounding"
> (double=>string=>double). I will be sending the %.10 across the
> wire anyway. Humm...

"%a" (with appropriate length modifiers) should give you an exact
representation of any floating-point value, as long as FLT_RADIX is a
power of 2.

What do you mean by "public key"?  That term is mostly used in
cryptography.  Public keys are generally binary values that can be
represented as very long integers or as a sequence of hex digits.  Using
floating-point for public keys makes little or no sense.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

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


Thread

Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 12:46 -0700
  Re: Floating point to string, and back via `%a'... James Kuyper <jameskuyper@verizon.net> - 2015-07-22 16:19 -0400
    Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 13:49 -0700
      Re: Floating point to string, and back via `%a'... Keith Thompson <kst-u@mib.org> - 2015-07-22 14:01 -0700
      Re: Floating point to string, and back via `%a'... James Kuyper <jameskuyper@verizon.net> - 2015-07-22 17:18 -0400
        Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 14:22 -0700
  Re: Floating point to string, and back via `%a'... Keith Thompson <kst-u@mib.org> - 2015-07-22 13:40 -0700
    Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 14:01 -0700
      Re: Floating point to string, and back via `%a'... Keith Thompson <kst-u@mib.org> - 2015-07-22 14:12 -0700
        Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 14:20 -0700
          Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 14:24 -0700
          Re: Floating point to string, and back via `%a'... glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-07-22 21:30 +0000
            Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 14:39 -0700
          Re: Floating point to string, and back via `%a'... Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2015-07-22 19:49 -0600
  Re: Floating point to string, and back via `%a'... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-22 22:28 +0100
    Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 14:34 -0700
      Re: Floating point to string, and back via `%a'... Keith Thompson <kst-u@mib.org> - 2015-07-22 14:58 -0700
        Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 15:43 -0700
        Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 15:45 -0700
        Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 15:51 -0700
          Re: Floating point to string, and back via `%a'... Robert Wessel <robertwessel2@yahoo.com> - 2015-07-22 18:21 -0500
            Re: Floating point to string, and back via `%a'... Keith Thompson <kst-u@mib.org> - 2015-07-22 16:58 -0700
        Re: Floating point to string, and back via `%a'... Keith Thompson <kst-u@mib.org> - 2015-07-22 16:52 -0700
        Re: Floating point to string, and back via `%a'... Keith Thompson <kst-u@mib.org> - 2015-07-22 17:08 -0700
      Re: Floating point to string, and back via `%a'... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-23 00:01 +0100
        Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-22 19:40 -0700
          Re: Floating point to string, and back via `%a'... Keith Thompson <kst-u@mib.org> - 2015-07-22 22:32 -0700
          Re: Floating point to string, and back via `%a'... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-23 11:07 +0100
            Re: Floating point to string, and back via `%a'... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-07-23 11:25 +0100
              Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-24 11:44 -0700
            Re: Floating point to string, and back via `%a'... "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-24 11:47 -0700

csiph-web