The representations of the multiplicand and product are not specified; typically, these are both also in two's complement representation, like the multiplier, but any number system that supports addition and subtraction will work as well. As stated here, the order of the steps is not determined. Typically, it proceeds from LSB to MSB, starting at "i" = 0; the multiplication by 2"i" is then typically replaced by incremental shifting of the "P" accumulator to the right between steps; low bits can be shifted out, and subsequent additions and subtractions can then be done just on the highest "N" bits of "P". There are many variations and optimizations on these details.