Floating-point multiplier

Build image: 
In-game name (NO VISITORS! Must be LEARNER rank or higher!): 
RobotMan2412
Builder name(s) and current ranks: 
RobotMan2412: Regular
Creation location: 
-2385 132 4
Machine Features: 

The floating-point format is composed of a sign bit (one's complement; 1 equals negative),
5 exponent bits (where 0 is x1, 15 is x2^15 and -16 is denormalised), and 10 mantissa bits.

The mantissa will be normalised; the mantissa is the fractional part of the number X in `X*2^exponent`.
The normalisation is to add the 1 in front of mantissa, E.G: mantissa=1010 0000 00, then X= 1.101

This means that the number is written in a way very similar to scientific notation in binary.

There are two black wool input panels, which clearly label which input bits represent which part of the float.
The white output panel returns a the resulting float, clipping to 0 for small numbers (sign unaffected; exponent set to -16; mantissa set to 0000 0000 00).
The other direction of clipping is towards infinity, and happens when the exponent overflows in the positive direction (sign unaffected; exponent set to +15, mantissa set to 1111 1111 11).

Allow for approximately 10 seconds for the output to stabilise.

How To Use: 

The multiplier is made partially using pistons, avoid spamming the input levers.

It is useful to decide numbers ahead of time, though this sometimes requires special calculators to find the bits.
I recommend chosing an integer of up to 1024 and then rearranging it's bits into a fractional.
There is also a website (https://bartaz.github.io/ieee754-visualization/) which visualises floats, but be aware that the exponent there functions different to mine.

When two numbers are chosen, enter them on the black wool input panels.
Allow for approximately 10 seconds for the output to stabilise.
The white wool output panel will show a number of the same format.

Request status: 
Approved