#include <limits.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <float.h>
void PrintDoubleAsCBytes(double d, FILE* f)
{
unsigned char a[sizeof(d)];
unsigned i;
for (i = 0; i < sizeof(a); i++)
fprintf(f
, "%0*X ", (CHAR_BIT
+ 3) / 4, a
[i
]); }
int main(void)
{
PrintDoubleAsCBytes
(0.0, stdout
); puts(""); PrintDoubleAsCBytes
(0.5, stdout
); puts(""); PrintDoubleAsCBytes
(1.0, stdout
); puts(""); PrintDoubleAsCBytes
(2.0, stdout
); puts(""); PrintDoubleAsCBytes
(-2.0, stdout
); puts(""); PrintDoubleAsCBytes
(DBL_MIN
, stdout
); puts(""); PrintDoubleAsCBytes
(DBL_MAX
, stdout
); puts(""); PrintDoubleAsCBytes
(INFINITY
, stdout
); puts("");#ifdef NAN
PrintDoubleAsCBytes
(NAN
, stdout
); puts("");#endif
return 0;
}
I2luY2x1ZGUgPGxpbWl0cy5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8ZmxvYXQuaD4KCnZvaWQgUHJpbnREb3VibGVBc0NCeXRlcyhkb3VibGUgZCwgRklMRSogZikKewogIHVuc2lnbmVkIGNoYXIgYVtzaXplb2YoZCldOwogIHVuc2lnbmVkIGk7CiAgbWVtY3B5KGEsICZkLCBzaXplb2YoZCkpOwogIGZvciAoaSA9IDA7IGkgPCBzaXplb2YoYSk7IGkrKykKICAgIGZwcmludGYoZiwgIiUwKlggIiwgKENIQVJfQklUICsgMykgLyA0LCBhW2ldKTsKfQoKaW50IG1haW4odm9pZCkKewogIFByaW50RG91YmxlQXNDQnl0ZXMoMC4wLCBzdGRvdXQpOyBwdXRzKCIiKTsKICBQcmludERvdWJsZUFzQ0J5dGVzKDAuNSwgc3Rkb3V0KTsgcHV0cygiIik7CiAgUHJpbnREb3VibGVBc0NCeXRlcygxLjAsIHN0ZG91dCk7IHB1dHMoIiIpOwogIFByaW50RG91YmxlQXNDQnl0ZXMoMi4wLCBzdGRvdXQpOyBwdXRzKCIiKTsKICBQcmludERvdWJsZUFzQ0J5dGVzKC0yLjAsIHN0ZG91dCk7IHB1dHMoIiIpOwogIFByaW50RG91YmxlQXNDQnl0ZXMoREJMX01JTiwgc3Rkb3V0KTsgcHV0cygiIik7CiAgUHJpbnREb3VibGVBc0NCeXRlcyhEQkxfTUFYLCBzdGRvdXQpOyBwdXRzKCIiKTsKICBQcmludERvdWJsZUFzQ0J5dGVzKElORklOSVRZLCBzdGRvdXQpOyBwdXRzKCIiKTsKI2lmZGVmIE5BTgogIFByaW50RG91YmxlQXNDQnl0ZXMoTkFOLCBzdGRvdXQpOyBwdXRzKCIiKTsKI2VuZGlmCiAgcmV0dXJuIDA7Cn0K