Learn Programming and technology with ease @ developerpublish.com

HomeCSharpC# Program to Demonstrate Left-Shift Operations

# C# Program to Demonstrate Left-Shift Operations

This C# program illustrates left-shift operations, which are bitwise operations used to shift the bits of an integer to the left. Left-shifting a number by a certain number of positions effectively multiplies it by 2 raised to the power of the shift amount. Left shifts can be useful in various scenarios, including optimizing mathematical operations, setting or clearing specific bits, and more.

## Problem Statement

You are given an integer `num` and an integer `shiftCount`. Your task is to perform a left shift operation on `num` by `shiftCount` positions and print the result in binary and decimal form.

## C# Program to Demonstrate Left-Shift Operations

```using System;

class Program
{
static void Main()
{
// Demonstrating left shift operations
int num = 10; // Binary: 00001010

// Left shifting the number by 2 positions
int result1 = num << 2; // Binary: 00101000, Decimal: 40
Console.WriteLine(\$"Left shift by 2 positions: {result1}");

// Left shifting the number by 3 positions
int result2 = num << 3; // Binary: 01010000, Decimal: 80
Console.WriteLine(\$"Left shift by 3 positions: {result2}");

// Left shifting the number by 1 position using a loop
int num2 = 5; // Binary: 00000101
for (int i = 0; i < 4; i++)
{
num2 = num2 << 1; // Left shift by 1 position in each iteration
Console.WriteLine(\$"Left shift iteration {i + 1}: {num2}");
}
}
}
```

## How it Works

1. User Input: The program starts by prompting the user to input two integer values: `num` and `shiftCount`. These values are read from the console using the `Console.ReadLine()` method and converted to integers using `int.Parse()`.
2. Display Original Number: The program displays the original number `num` in both binary and decimal form. To display `num` in binary form, it uses the `Convert.ToString()` method with base 2 to convert the integer into a binary string. It also displays `num` as-is in decimal form.
3. Left Shift Operation: The program performs a left shift operation on `num` by `shiftCount` positions using the `<<` operator. This operation shifts the binary representation of `num` to the left, effectively multiplying `num` by 2^`shiftCount`. The result is stored in the variable `result`.
4. Display Shifted Number: The program displays the shifted number `result` in both binary and decimal form, similar to how it displayed the original number. Again, it uses `Convert.ToString()` to convert the integer result into a binary string.
5. Display Shift Count: Finally, the program prints the number of positions shifted, which is simply the value of `shiftCount`.
6. Validation: Although not shown in the code snippet, in a real-world application, you should consider adding input validation to ensure that `shiftCount` is non-negative and that the user inputs are within the appropriate range.
7. End of Program: The program execution ends, and the results are displayed to the user.

## Input/ Output

Share:

### You May Also Like

#### C# Program to Display Upper Triangular Matrix

This C# program calculates and displays an upper triangular matrix based on user input. Problem Statement: The program takes the...

#### C# Program to Demonstrate Bitwise Operators

This C# program serves as a demonstration of bitwise operators, which are fundamental operators used for manipulating individual bits in...

#### C# Program to Interchange the Columns of a Matrix

This C# program is designed to interchange or swap the columns of a matrix. A matrix is a two-dimensional array...