Is booth algorithm for multiplication only for multiplying 2 negative numbers (-3  * -4) or one positive and one negative number (-3 * 4) ? Whenever i multiply 2 positive numbers using booth algorithm i get a wrong result.example : 5 * 4A = 101 000 0   // binary of 5 is 101S = 011 000 0   // 2's complement of 5 is 011P = 000 100 0   // binary of 4 is 100x = 3y = 3m = 5-m = 2's complement of mr = 4After right shift of P by 1 bit 0 000 100After right shift of P by 1 bit 0 000 010P+S = 011 001 0After right shift by 1 bit 0 011 001Discarding the LSB 001100But that comes out to be the binary of 12 . It should have been 20(010100)
booth multiplication algorithm
algorithms