C Exercises: Multiply two numbers using bitwise operators
C Programming Mathematics: Exercise-27 with Solution
Write a C program to multiply two numbers using bitwise operators.
Example:
Input: int x = 8
int y = 9
Output: Product of 8 and 9 using bitwise operators is: 72
Sample Solution:
C Code:
#include <stdio.h>
#include <math.h>
// Function to perform multiplication using bitwise operators
int bitwise_multiply(int x, int y) {
// Adjust signs if both x and y are negative or if y is negative
if (x < 0 && y < 0) {
x = x * (-1);
y = y * (-1);
} else if (x > 0 && y < 0) {
x = x * (-1);
y = y * (-1);
}
int result = 0; // Initialize the result variable to store the product
// Multiply using bitwise operations
while (y > 0) {
if ((y & 1) != 0) // If the least significant bit of y is set
result = result + x; // Add x to the result
x = x << 1; // Left shift x to multiply it by 2
y = y >> 1; // Right shift y to divide it by 2
}
return result; // Return the final product
}
int main(void) {
int x = 8; // First number for multiplication
int y = 9; // Second number for multiplication
// Print the product of x and y calculated using bitwise operators
printf("Product of %d and %d using bitwise operators is: %d", x, y, bitwise_multiply(x, y));
return 0; // End of the main function
}
Sample Output:
Product of 8 and 9 using bitwise operators is: 72
Flowchart:
C Programming Code Editor:
Improve this sample solution and post your code through Disqus.
Previous: Write a C program to check if a given number is Fibonacci number or not.
Next: Write a C program to find angle between given hour and minute hands.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/c-programming-exercises/math/c-math-exercise-27.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics