With regards to the mantissa (re [this guide on floating point arithmetic](https://en.wikibooks.org/wiki/Microprocessor_Design/FPU)), how do you actually multiply two mantissa's together?

Assume IEEE 754 single precision floating point representation.

Lets say one number has a mantissa of `1.5`, which would be encoded as `0b10000000000000000000000` (which is `4194304` in decimal). The second number has a mantissa of `1.125`, which would be encoded as `0b00100000000000000000000` (which is `1048576` in decimal).

`1.5 x 1.125 = 1.6875`.

`1.6875` is encoded as `0b10110000000000000000000` (which is `5767168` in decimal). However `4194304 * 1048576` does not equal `5767168`...

How does mantissa multiplication work such that `4194304` (1.5) multiplied by `1048576` (1.125), yields `5767168` (1.6875)?

That is, how do you multiply the encoded mantissas?

I.e. how does the hardware use the encoded mantissas stored in memory to get the new value?

---

From [the guide](https://en.wikibooks.org/wiki/Microprocessor_Design/FPU), multiplication of floating point numbers can be acheived as follows. I am stuck on step 2.

> 
> 1. Separate out the mantissa from the exponent
> 2. Multiply (or divide) the mantissa parts together
> 3. Add (or subtract) the exponents together
> 4. Combine the two results into the new value
> 5. Normalize the result value (optional)
> 
> 
>