#include #include #include #include #include #include "../code/data/show-bytes.c" float my_u2f(unsigned int my_u) { assert(sizeof(unsigned int) == sizeof(float)); union { unsigned int u; float f; } my_union; /* Apparently you cannot print the bytes of a float directly? like this printf("%x\n", f); */ my_union.u = my_u; return my_union.f; } float fpwr2(int x) { /* Result exponent and fraction */ unsigned exp, frac; unsigned u; int k = 8; int n = 23; int bias = (1<<(k-1))-1; int max_e = ((1<