This question already has an answer here:
I want to multiply two numbers but since I don’t have long enough registers in the current architecture need to “break them down” into shorter ones and somehow perform the calculation.
2048.125 x 2048.125 (2048.125 =>4001hex) but with the binary point beyond the 4th bit position (Q12.4 signed) and upwards .
Is there any way to split up the operation, and combine the results in the end?
Unfortunately the configuration am working on does not support well known libraries thus,I have to build one by myself.
Please provide any pointers that could lead to mathematical oriented implementation.Something that could possibly emerge out of manipulation of the partial products or similar.