31 lines
554 B
C
31 lines
554 B
C
// Shift and add algo for multiplication without using multiplication operator
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int main() {
|
|
|
|
|
|
// your code goes here
|
|
int mA, mB;
|
|
printf("Enter the two inputs\n");
|
|
scanf("%d %d", &mA, &mB);
|
|
int a = 0, m0 = 0, m1 = 0;
|
|
m0 = mA > 0 ? mA : abs(mA); // negative input.
|
|
m1 = mB > 0 ? mB : abs(mB);
|
|
|
|
while(m1)
|
|
{
|
|
if((m1 & 0x01))
|
|
a += m0;
|
|
|
|
m0 <<= 1;
|
|
m1 >>= 1;
|
|
}
|
|
if(mA < 0 || mB < 0)
|
|
a = -a;
|
|
|
|
printf("The product is %d", a);
|
|
return 0;
|
|
}
|