Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| 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> |
> "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
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