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:

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

C# Compiler Error CS0442 – ‘Property’: abstract properties cannot have private accessors Reason for the Error You’ll get this error...
This is a really simple one . Below is a simple example of an enum called “Designation” defined with the...
This blog post explain the usage of the Checked Block in .NET and how you can use them in Visual...