On Thu, 26 Nov 2020, Thomas Koenig wrote:

> On my (IEEE) box, this prints
> 
> r = 3.402823e+38 d = 1.797693e+308 i = 4
> 
> so if you have a working printf (or some other way to display
> floating-point-variables) for C, you can examine the
> values.

 This prints:

r = 1.701412e+38 d = 1.701412e+38 i = 4

(unsurprisingly the values are the same as the F-floating and the 
D-floating formats only differ by precision).  Alternatively say:

  printf ("r = %.10e d = %.10e i = %d\n", r, d, i);

prints:

r = 1.7014117332e+38 d = 1.7014118346e+38 i = 4

Finally:

  printf ("r = %a d = %a i = %d\n", r, d, i);

prints:

r = 0x<D4>.0ffffp+126 d = 0x<D4>.0ffffffffffffp+126 i = 4

(passed through `less' as otherwise <D4> is rendered as gibberish here and 
frankly I don't know what the 0xd4 character encoding is supposed to stand 
for as the %a format is supposed to produce hexadecimal digits, possibly 
for machine parsing; LANG is unset implying the POSIX C locale across my 
systems).

 What do you need this information for anyway?

  Maciej

Reply via email to