Add and subtract use a simple 32-bit integer and subtract. Multiply and divide are a bit more involved. First allow an extra set of bytes for each operand to be shifted left into, also supplying a single shift counter for both operands. Shift each number left until there are no 1s right of the 'decimal point', and for each shift increment the shift counter. Perform normal integer multiplication or division as normal. Afterwards shift the result right, decrementing the shift counter each time until it reaches zero.