#include <stdint.h>
#include <stdio.h>
+#include <string.h>
+
+void
+print_double (const uint8_t *b)
+{
+ double d;
+ memcpy (&d, b, 8);
+ printf ("%f\n", d);
+}
+
+void
+print_float (const uint8_t *b)
+{
+ float d;
+ memcpy (&d, b, 4);
+ printf ("%f\n", d);
+}
int
main (void)
{
- union
- {
- uint8_t b[8];
- double d;
- }
- x = { .b = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xdd, 0x40 } };
- printf ("%f\n", x.d);
+ uint8_t b[] = { 0x1f, 0x05, 0, 0, 0xa2, 3, 0, 0, 0x64, 0, 0, 0 };
+ int n = sizeof b;
+ for (int i = 0; i <= n - 8; i++)
+ print_double (b + i);
+/*
+ for (int i = 0; i <= n - 4; i++)
+ print_float (b + i);
+*/
return 0;
}