# Multiply a number by 4 using bitwise operator

In this article, we will explore how to multiply a given number by 4 using bitwise operators in programming. Bitwise operators perform operations at the bit level, allowing us to perform some arithmetic operations efficiently. In particular, we will use the left shift operator (`<<`) to achieve the multiplication by 4.

## Problem Statement and Explanation with Suitable Example

The problem is to multiply a given integer `num` by 4 using bitwise operators. To understand how this works, let's take an example:

### Example

Let's take `num = 6`. To multiply 6 by 4, we can simply use the standard multiplication operator (`*`) and get the result as `6 * 4 = 24`. However, we want to achieve the same result using bitwise operators.

## Pseudocode

``````Start
Input an integer num.
Left shift num by 2 (equivalent to multiplying by 2^2, i.e., 4).
Store the result in a variable result.
Output the result as (num x 4 = result).
End``````

## Explanation

The key operation in this algorithm is the left shift operation (`<<`). When you shift a binary number to the left by `n` positions, it is equivalent to multiplying the number by 2^n.

For example, let's consider `num = 6`, which is represented in binary as `110`.

To multiply `num` by 4, we will left shift `num` by 2 positions:

``````num = 110
num << 2
Result: 11000 (which is 24 in decimal)
``````

As you can see, the result after the left shift is `11000`, which is equal to `24` in decimal. Therefore, using the left shift operator, we have effectively multiplied `num` by 4.

## Code Solution

``````// C Program
// Multiply a number by 4 using bitwise operator
#include <stdio.h>

void multiplyBy4(int num)
{
// Shift given number to left by 2
int result = ((num) << 2);
// Display calculated result
printf(" (%d x 4) %d\n", num, result);
}
int main()
{
// Test
multiplyBy4(6);
multiplyBy4(10);
multiplyBy4(7);
multiplyBy4(-3);
return 0;
}``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12``````
``````/*
Java program
Multiply a number by 4 using bitwise operator
*/
public class Multiplication
{
public void multiplyBy4(int num)
{
// Shift given number to left by 2
int result = ((num) << 2);
// Display calculated result
System.out.println(" (" + num + " x 4) " + result);
}
public static void main(String[] args)
{
// Test
}
}``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12``````
``````// Include header file
#include <iostream>
using namespace std;
/*
C++ program
Multiply a number by 4 using bitwise operator
*/
class Multiplication
{
public: void multiplyBy4(int num)
{
// Shift given number to left by 2
int result = ((num) << 2);
// Display calculated result
cout << " (" << num << " x 4) " << result << endl;
}
};
int main()
{
// Test
return 0;
}``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12``````
``````// Include namespace system
using System;
/*
Csharp program
Multiply a number by 4 using bitwise operator
*/
public class Multiplication
{
public void multiplyBy4(int num)
{
// Shift given number to left by 2
int result = ((num) << 2);
// Display calculated result
Console.WriteLine(" (" + num + " x 4) " + result);
}
public static void Main(String[] args)
{
// Test
}
}``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12``````
``````package main
import "fmt"
/*
Go program
Multiply a number by 4 using bitwise operator
*/

func multiplyBy4(num int) {
// Shift given number to left by 2
var result int = ((num) << 2)
// Display calculated result
fmt.Println("(", num, "x 4 )", result)
}
func main() {
// Test
multiplyBy4(6)
multiplyBy4(10)
multiplyBy4(7)
multiplyBy4(-3)
}``````

#### Output

``````( 6 x 4 ) 24
( 10 x 4 ) 40
( 7 x 4 ) 28
( -3 x 4 ) -12``````
``````<?php
/*
Php program
Multiply a number by 4 using bitwise operator
*/
class Multiplication
{
public	function multiplyBy4(\$num)
{
// Shift given number to left by 2
\$result = ((\$num) << 2);
// Display calculated result
echo(" (".\$num.
" x 4) ".\$result.
"\n");
}
}

function main()
{
// Test
}
main();``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12``````
``````/*
Node JS program
Multiply a number by 4 using bitwise operator
*/
class Multiplication
{
multiplyBy4(num)
{
// Shift given number to left by 2
var result = ((num) << 2);
// Display calculated result
console.log(" (" + num + " x 4) " + result);
}
}

function main()
{
// Test
}
main();``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12``````
``````#    Python 3 program
#    Multiply a number by 4 using bitwise operator
class Multiplication :
def multiplyBy4(self, num) :
#  Shift given number to left by 2
result = ((num) << 2)
#  Display calculated result
print(" (", num ," x 4) ", result)

def main() :
#  Test

if __name__ == "__main__": main()``````

#### Output

`````` ( 6  x 4)  24
( 10  x 4)  40
( 7  x 4)  28
( -3  x 4)  -12``````
``````#    Ruby program
#    Multiply a number by 4 using bitwise operator
class Multiplication
def multiplyBy4(num)
#  Shift given number to left by 2
result = ((num) << 2)
#  Display calculated result
print(" (", num ," x 4) ", result, "\n")
end

end

def main()
#  Test
end

main()``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12
``````
``````/*
Scala program
Multiply a number by 4 using bitwise operator
*/
class Multiplication()
{
def multiplyBy4(num: Int): Unit = {
// Shift given number to left by 2
var result: Int = ((num) << 2);
// Display calculated result
println(" (" + num + " x 4) " + result);
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Multiplication = new Multiplication();
// Test
}
}``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12``````
``````/*
Swift 4 program
Multiply a number by 4 using bitwise operator
*/
class Multiplication
{
func multiplyBy4(_ num: Int)
{
// Shift given number to left by 2
let result: Int = ((num) << 2);
// Display calculated result
print(" (", num ," x 4) ", result);
}
}
func main()
{
// Test
}
main();``````

#### Output

`````` ( 6  x 4)  24
( 10  x 4)  40
( 7  x 4)  28
( -3  x 4)  -12``````
``````/*
Kotlin program
Multiply a number by 4 using bitwise operator
*/
class Multiplication
{
fun multiplyBy4(num: Int): Unit
{
// Shift given number to left by 2
val result: Int = ((num) shl 2);
// Display calculated result
println(" (" + num + " x 4) " + result);
}
}
fun main(args: Array < String > ): Unit
{
// Test
}``````

#### Output

`````` (6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12``````

## Resultant Output Explanation

Let's run the provided C code and understand the output:

``````Output:
(6 x 4) 24
(10 x 4) 40
(7 x 4) 28
(-3 x 4) -12
``````

The output shows the result of multiplying the given numbers by 4 using bitwise operations.

• For `num = 6`, the result is `6 x 4 = 24`, which is correct.
• For `num = 10`, the result is `10 x 4 = 40`, which is correct as well.
• For `num = 7`, the result is `7 x 4 = 28`, which is also correct.
• For `num = -3`, the result is `-3 x 4 = -12`, which is the correct result. In C, the left shift operator works with signed integers as well, and it effectively multiplies the negative number by 4.

## Time Complexity of the Code

The time complexity of the code is constant (`O(1)`). This is because the left shift operation is performed in a fixed number of steps (2 positions in this case) regardless of the size of the input number. The bitwise operations take constant time, so the time complexity of the entire code remains constant.

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.