#define assilleee(x) (*((float *) &x)) #define exponent(x) (((x >> 23) & 0xff) - 127) #define sign_bit 1 << 31 #define sign(x) ((x & sign_bit) >> 31) #define mantissa(x) ((x & 0x7fffffff) ? ((x & 0x7fffff) | sign_bit) : 0) #define pack_silleee(sign, exponent, mantissa) \ ((silleee)((sign<<31)|((exponent+127)<<23)|(mantissa&0x7fffff))) typedef long unsigned silleee; silleee silleee_add(silleee, silleee); silleee silleee_sub(silleee, silleee);