Say my CPU don't have support for the float variables and uses a long type integer (32 bit)
The leftmost bit (MSB) is the sign (0 means +, 1 means -) - lets call it S
The next 8 bits are the exponent - lets call it E.
The rest bits (23) are the Mantissa (i.e the fraction) - lets call it M.
The number is calculated by this formula: (-1)^S * M * (2^E)
Now we need a function
unsigned long add(unsigned long float1, unsigned long float2)
which gets 2 numbers of the representation above, and returns the result of the addition of them (as described above).