# Check if a Number is a Power of 2

View: 592    Dowload: 0   Comment: 0   Post by: hanhga   Category: Php&mySql   Fields: Other

How to check if a number is a power of 2.  To understand this question, let’s take some example.

Example –

Input – 16   – 16 is a power of 2 (2^4).

Input – 15 – 15 is not a power of 2.

Input – 32- 32 is a power of 2 (2^5).

We can use multiple approaches to check whether a number is a power of 2 or not.

## How to Check if a Number is a Power of 2

Method 1 : Check whether a number is perfectly divisible by 2.

In this approach, We’ll check whether a number is perfectly divisible by 2. If a number is perfectly divisible by 2 then it’s remainder is 0.

We’ll repeat this step until n becomes 1. In each step, we check if n%2 becomes non-zero and n is not 1 then n is not a power of 2. If n becomes 1 then it is a power of 2.

Method 2 : Bit Manipulation

Let’s consider the binary representation of any number that is a power of 2. We’ll find only one bit is set in their binary representation.

```2    =  00000010
4    =  00000100
8    =  00001000
16   =  00010000 ```

And number which is one less has following binary representation

```1 = 00000001
3 = 00000011
7 = 00000111```
```   0 0 0 0 0 0 1 0  (Binary representation of 2)
&  0 0 0 0 0 0 0 1  (Binary representation of 1)
-------------------
0 0 0 0 0 0 0 0```

We have discussed two approaches to check whether a number is a power of 2 or not. Let’s implement both the approaches in multiple programming languages.

## C Code to Check whether a Number is a Power of 2

METHOD 1: Check if a number is perfectly divisible by 2

```#include <stdio.h>
int main(void) {

int num, flag = 1;
printf("Enter a number \n");
scanf("%d", &num);

while(num > 1) {

if(num % 2 != 0){
flag = 0;
break;
}

num = num / 2;
}

if(flag) {
printf("Input number is a power of 2");
} else {
printf("Input number is not a power of 2");
}

return 0;
}```

METHOD 2 – Bit Manipulation

```#include <stdio.h>

int isPowerOfTwo(int num) {
return num && !(num & (num-1));
}
int main(void) {
int num;

printf("Enter a number\n");
scanf("%d", &num);

if(isPowerOfTwo(num)) {
printf("Input number is a power of 2");
} else {
printf("Input number is not a power of 2");
}

return 0;
}```

## Java Code to Check if a Number is a Power of 2

METHOD 1: Check if a number is perfectly divisible by 2

```import java.util.*;

public class PowerofTwo {

public static void main(String[] args) {

int num, flag = 1;

System.out.println("Enter a number");
Scanner in = new Scanner(System.in);

num = in.nextInt();

while(num > 1) {

if( num % 2 != 0) {
flag = 0;
break;
}

num = num/2;
}

if(flag == 1)
System.out.println("Input number is a power of 2");
else
System.out.println("Input number is not a power of 2");
}

}```

METHOD 2 – Bit Manipulation

```import java.util.*;

public class PowerofTwo {

public static boolean isPowerOfTwo(int num) {

return (num > 0) && ((num & (num - 1)) == 0);
}

public static void main(String[] args) {

int num;

System.out.println("Enter a number");
Scanner in = new Scanner(System.in);

num = in.nextInt();

if(isPowerOfTwo(num))
System.out.println("Input number is a power of 2");
else
System.out.println("Input number is not a power of 2");
}

}```

How to check if a number is a power of 2. To understand this question, let’s take some example.

Posted on 12-10-2016

#### Comment:

To comment you must be logged in members.

## Files with category

• ### Twitter-like Hashtag Function in PHP

Category: Php&mySql     Fields: none

If you ever want a function to hashtag and style words within a string which has '#' next to it like twitter. This piece of code will help

• ### PSITS Automated Voting System

Category: Php&mySql     Fields: none

A free sourcecode for PSITS Automated Voting System develop in PHP programming language. The purposed of the system is to automate the process of voting and maintain the quality of data

• ### PHP-University Application System

Category: Php&mySql     Fields: none

Greeting from Malawi the warm heart of Africa. I developed this university registration system project just to share with the people who can make use of the project like this and at the same time for others like students who can learn from it. This...

• ### School Event Management System in PHP/MSQLi

Category: Php&mySql     Fields: none

This School Event Management System can create school events such as Volleyball games, Basketball, Cultural presentation, Election of school officers etc . During school election Instead of having a compile list of candidates and voters this system...

• ### Resort Reservation System with PayPal/Credit Card/Debit Card Payment

Category: Php&mySql     Fields: none

This reservation system has the ability to help its customers find available rooms, cottages and even function hall for their convenience . And in here, they will also have the idea of the room rates where they can quickly reserve for their family...

• ### Activity log

Category: Php&mySql     Fields: none

Simple program to track user's activity log-in time and online/offline status.

• ### Electricks - eCommerce

Category: Php&mySql     Fields: none

Electricks is an e-commerce website built using PHP, Bootstrap and some jQuery plugins. It has all the major functionalities of a typical e-shop. This project was used to present in Southern Luzon State University - Lucban. Feel free to use this code...

• ### Simple Email App Using PHP

Category: Php&mySql     Fields: none

Creating a simple PHP script using mail function for sending out emails.

File suggestion for you
• Php&mySql - 2852 view This Human Resource Management System PHP MySQL Source Codes is done using the programming language Asp.net and the data source SQL Server. This...

• WordPress template - 730 view SKT Magazine is a superfine free news- magazine WordPress theme ideal for online newspaper, publishing reviews, and editorial style websites. It is...

• Php&mySql - 468 view In part one, we covered the basics of Phake and demonstrated ways of executing tasks with it, covering groups, dependencies, and arguments. In this...

• Mobile applications - 5312 view We'll introduce a few concepts without going into too much detail. We'll look at: Basic file access, Clearing the screen, Drawing images, Using a...

• iPhone OS - 768 view In this tutorial, I am going to introduce you to tvOS development by creating a basic tvOS application.

Mega tags
• Php&mySql - 529 view If you’re already deep in PHP, then some of the stuff in this section...

• Form - Instructions - 775 view A. But factors have been shown to affect the reliability of the...

• References - 943 view Android Database TutorialAndroid Database ToolsThe first tool is...

• Php&mySql - 407 view In this post, we’ll go through the process of getting it up and...

• Php&mySql - 389 view Simply put, failing fast and loudly means that when an error occurs,...

• Autodesk 3DS Max - 677 view You'll start by creating a simple proxy model of a minigun, then move...

• Form - Instructions - 3281 view Ever had the need to block all other forms and controls when a...

• WordPress template - 478 view Today, codetitle released Musica – a nice magazine wordpress theme....

• Javascript - 555 view In spring mvc form submit tutorial, we learned about displaying...

• Flash template, Flash game - 1087 view Share Flash Template Music Dance intro

IT News