- Write a program in C to multiply a number with 7 using bitwise operator.
- How to multiply a number by 7 in one line.
-
Let's derive an expression to multiply a number with 7 using bitwise operator. Let N be the number that we want to multiply with 7.
N x 7 = N + N + N + N + N + N + N
N x 7 = N + N + N + N + N + N + N + (N - N)
N x 7 = (N + N + N + N + N + N + N + N) - N
N x 7 = 8xN - N
As we know that, left shifting any number by one bit multiply it by 2. Hence, multiplying any number with 8 is equivalent to right shifting it by 3 bits(For Example : NX3 = N << 3). Replacing 8xN in above statement by 8 << 3.
N x 7 = (N << 3) - N
WARNING !!!!
This approach can only be used to multiply integers or char by 7 because bitwise Operators can only be applied on char and integer operands. We cannot use bitwise operators with float, double, long double, void and other user define complex data types.
This approach can only be used to multiply integers or char by 7 because bitwise Operators can only be applied on char and integer operands. We cannot use bitwise operators with float, double, long double, void and other user define complex data types.
C program to multiply a number with 7 using bitwise operator.
#include<stdio.h> int main() { int num; printf("Enter an integer\n"); scanf("%d", &num); printf("7 X %d = %d", num, (num << 3) - num); return 0; }Output
Enter an integer 3 3 X 7 = 21
Enter an integer 0 0 X 7 = 0