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


Groups > comp.lang.c > #66300

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

From "Chris M. Thomasson" <nospam@nospam.nospam>
Newsgroups comp.lang.c
Subject Re: Floating point to string, and back via `%a'...
Date 2015-07-24 11:44 -0700
Organization Aioe.org NNTP Server
Message-ID <mou12o$sp2$1@speranza.aioe.org> (permalink)
References <moorva$su7$1@speranza.aioe.org> <87mvyn51bm.fsf@bsb.me.uk><mop2i6$bkq$1@speranza.aioe.org> <87h9ov4x0f.fsf@bsb.me.uk><mopk6n$i8k$1@speranza.aioe.org> <87bnf3427q.fsf@bsb.me.uk> <87380f41c9.fsf@bsb.me.uk>

Show all headers | View raw


> "Ben Bacarisse"  wrote in message news:87380f41c9.fsf@bsb.me.uk... 

> > Ben Bacarisse <ben.usenet@bsb.me.uk> writes:

> >> "Chris M. Thomasson" <nospam@nospam.nospam> writes:
<snip>
> >> Alice then runs it through a local round trip from double-to-
> >> string-to-double, and gets back:
> >>
> >> 1.0123456
> >>
> >> Fine... Alice then uses this new value for the public key, generates
> >> the fractal cipher based on the private key, encrypts the cleartext
> >> and sends both 1.0123456 and the ciphertext across
> >> the wire to Bob.
> >>
> >> Bob converts the public key string to a double. I am HOPING that Bob
> >> gets exactly:
> >>
> >> 1.0123456
> >> 
> > You can't be sure of that but it's very, very likely.  For one thing,
> > you seem to be deliberately not using the full precision which makes it
> > much more likely that the conversion will produce the same result.

I thought this just might be the case here Ben.


> Reading Keith's reply has reminded me that I'm not being clear about the
> distinction between internal and external representations.  Most likely,
> neither Alice nor Bob have 1.0123456 exactly.  What you can hope for
> (and it's only a hope) is that those decimal digits translate to the
> same binary floating point number that Alice had to start with.

Exactly Right for that is the hope I am hoping for!

;^o


> As has been suggested elsewhere, if your numbers are always in some
> well-known range you might try using integers instead.  Also, look at
> the functions frexp and scalbn.  You can use these to simulate the
> effect of the %s format that you've found you can't rely on:

>      int exp;
>      double d = frexp(1.0123456, &exp);
>      printf("%a %d %llx\n", d, exp, (long long unsigned)scalbn(d, 53));

> Produces

>   0x1.032914cc3fdf1p-1 1 1032914cc3fdf1


Nice! Thank you so much for the excellent information Ben, and everyone 
else!

:^D

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