how would I go about multiplying two 32 bit numbers (lets say unsigned) and putting the result into two 32 bit vars , one for the msbits and one for lsbits .

It should be simple but im stuck

thanks !

  • $\begingroup$ What exactly are you looking for? Are you looking for an algorithm that can be implemented in software? For a hardware circuit? What research have you done? What research/self-study have you done, and what approaches have you already considered? Algorithms for multiplication are commonly described in algorithms textbooks, and circuits for multiplication are commonly described in computer architecture textbooks. There's little point in us repeating standard material. Instead, it'd be better for you to spend some quality time with standard resources, to learn the material. $\endgroup$ – D.W. Mar 31 '16 at 21:57

I'm assuming you're dealing with a circuit.
Since you are using two 32 bits, your result will be 64 bit.
In this case there are a few ways to go about this.

The simplest is to add, and bit-shift.
The other (much faster) way is to use Boothe's Algorithm.

Here are a few links to resources that may be helpful.

Binary Multiplier
Boothe's Algorithm


Not the answer you're looking for? Browse other questions tagged or ask your own question.