//How will you multiply two numbers using BITWISE operators
#include<stdio.h>
main()
{
int a,b,result;
printf("nEnter the numbers to be multiplied :");
scanf("%d%d",&a,&b);
result=0;
while(b != 0) // Iterate the loop till b==0
{
if (b&01) // Logical ANDing of the value of b with 01
result=result+a; // Update the result with the new value of a.
a<<=1; // Left shifting the value contained in 'a' by 1.
b>>=1; // Right shifting the value contained in 'b' by 1.
}
printf("nResult:%d",result);
}
//program to set and show bit at nth position
main()
{
int a,b,result;
printf("nEnter the numbers to be multiplied :");
scanf("%d%d",&a,&b);
result=0;
while(b != 0) // Iterate the loop till b==0
{
if (b&01) // Logical ANDing of the value of b with 01
result=result+a; // Update the result with the new value of a.
a<<=1; // Left shifting the value contained in 'a' by 1.
b>>=1; // Right shifting the value contained in 'b' by 1.
}
printf("nResult:%d",result);
}
//program to set and show bit at nth position