- Prepare
- All Platforms
- Programming
- Aptitude
- Syllabus
- Interview Preparation
- Interview Exp.
- Off Campus
- Prime Video
- Prime Mock

- Prime Video
- OffCampus Updates
- Placement Stats
- Prime Video
- Prime Mock

^{0}Notifications Mark All Read

No New notification

- Login
- Get Prime

# Program to Check whether a given number is Power of 2

## Introduction to Check Power of 2

In this article, we will discuss how to write a Python program to check whether a given number is power of 2 or not. Checking if a number is a power of 2 is a common mathematical operation, and Python makes it easy to implement.

The concept is straightforward: a number is considered a power of 2 if it can be expressed as 2^x, where x is a non-negative integer. Recognizing powers of 2 is not only a mathematical curiosity but also a practical necessity in many programming scenarios.

**Understanding the Logic**

**Understanding the Logic**

A number is considered a power of 2 if it can be expressed as 2^x, where x is a non-negative integer. To determine if a number is a power of 2, we can use a simple bitwise operation. Any power of 2 in binary form has only one bit set to 1.

- For example, 2^3 is 8, which is 0b1000 in binary, with only one bit set to 1.

**
****Examples**

**Examples**

** Input :** n = 64

**Yes**

**Output :****2**

**Explanation:**^{6}= 4

** Input :** n = 32

**Yes**

**Output :****2**

**Explanation:**^{5}= 32

**
****Program to Check whether a given number is Power of 2
**

**Program to Check whether a given number is Power of 2**

Here’s a code snippet :

# Function to check if a number is a power of 2 def is_power_of_two(num): # A number is a power of 2 if and only if it has only one bit set in its binary representation. # Using bitwise operations, we can check if the number has only one '1' bit. return num > 0 and (num & (num - 1)) == 0 # Get the input number from the user try: number = int(input("Enter a number: ")) if is_power_of_two(number): print(str(number) + " is a power of 2.") else: print(str(number) + " is not a power of 2.") except ValueError: print("Invalid input. Please enter a valid integer.")

**Output :**

Enter a number: 8 8 is a power of 2.

**Explanation :**

The Python program checks if a given number is a power of 2. It uses bitwise operations to determine if the number has only one ‘1’ bit in its binary representation, which is a characteristic of powers of 2. The program accepts user input, validates it, and then prints whether the number is a power of 2 or not, converting numbers to strings for output without using ‘f’ notation for string formatting.

**
****How it Works**

**How it Works**

The core of the logic remains the same as the previous version. The “**is_power_of_two**” function checks if the number is greater than 0 and whether it has only one ‘1’ bit in its binary representation. We display the results by converting the numbers to strings for concatenation.

**To wrap it up:**

In this tutorial, we’ve explored a Python program to check whether a given number is a power of 2. This program serves as a valuable tool in a programmer’s arsenal, offering an elegant solution to a common mathematical problem. It can be applied in a wide range of scenarios, from optimizing algorithms to enhancing the efficiency of data structures.

### Prime Course Trailer

### Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

**Get over 200+ course One Subscription**

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

Login/Signup to comment