Using the leftshift operator << in c++!

Recently in a test within college I came across the use of the shift operator. We had to work out the answer by hand so I thought I’d do a post about it. I have also written a program to help you understand it.

This was the question I was asked.

What is the value of c after the following?

int a=12
int b=2;

int c=a<<b;

Answer: 48

How to work it

Its actually really simple to work out.

The leftshift operator is the equivalent of moving all the bits of a number a specified number of places to the left:

[variable]<<[number of places]

1. Convert the variable to binary.
12 in binary is 1100.

2. Add the number of places onto the number.
This case it is 2 therefore add on 2 0's.

3. The number is now 110000.

4. count the number of 0's.
This case there is 4 0's

5. Now times the variable by the number of 0's.
12*4 in this case = 48.

8. We have now got our answer.

The code to work it out:

#include <iostream>

using namespace std;

int main()
{
    int firstNum, secondNum;
    
    int result;
    
    cout << "Using the shift operator <<!" << endl;
    
    cout << "Indicates the bits are to be shifted to the left." << endl;
    
    cout << "Please enter your first whole number" << endl;
    
    cin >> firstNum;
    
    cout << "Please enter you second whole number" << endl;
    
    cin >> secondNum;
    
    result = firstNum << secondNum;
    
    cout << result << endl;
    
    return 0;
}//main

One thought on “Using the leftshift operator << in c++!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s