C++ Program to convert a Number from Decimal to Binary (4 Ways)
In this program, we will learn how to convert a number from decimal to binary using C++ programming language.
We will be discussing four ways to code it.
- Using an array
- Without using an array
- Using Bitwise operator
- Using Recursion
C++ Programming Code to convert a Number from Decimal to Binary
Using an Array
In this program, I have stored the remainder when num is divided by 2 (num%2) in an array. And then using the for loop printing the elements of array in reverse order.
Code:-
#include <iostream> using namespace std; int main(){ int bin[128], num, i=0; cout << "Enter a number to convert: "; cin >> num; while(num > 0){ bin[i]=num%2; num= num/2; i++; } cout << "Binary of the number: "; for(int j = i-1; j >= 0; j--){ cout << bin[j]; } cout << endl; return 0; }
Output:-
Binary of the number: 110111
Without using an Array
In this program, I have not used an array to store individual bits of the number instead I build it using while loop and adding the product of remainder and power of 10 to bin and storing it back to the bin.
Code:-
#include <iostream> using namespace std; int main(){ int num, bin = 0; cout << "Enter a number to convert: "; cin >> num; int remainder, i = 1; while (num!=0){ remainder = num%2; num /= 2; bin += remainder*i; i *= 10; } cout << "Binary of the number: " << bin << endl; return 0; }
Output:-
Binary of the number: 1000000
Using BitWise Operator
In this program, I have used the AND (&) and Right shift (>>) bitwise operator.
Code:-
#include <iostream> using namespace std; int main(){ int num; unsigned int range = 32768; cout << "Enter a number to convert: "; cin >> num; cout << "Binary of the number: "; while(range > 0){ if((num & range) == 0 ) cout << "0"; else cout << "1"; range = range >> 1 ; } cout << endl; return 0; }
Output:-
Binary of the number: 0000000001001100
Using Recursion
In this program, I have used the getBinaryNumber() recursive function.
Code:-
#include <iostream> using namespace std; int getBinaryNumber(int num) { if (num == 0) return 0; else return (num % 2 + 10 * getBinaryNumber(num / 2)); } int main(){ int num, bin; cout << "Enter a number to convert: "; cin >> num; int remainder, i = 1; bin = getBinaryNumber(num); cout << "Binary of the number: " << bin << endl; return 0; }
Output:-
Binary of the number: 1010101
You can learn about many other C++ Programs Here.
Best Books for learning C++ programming language with Data Structure and Algorithms.
Amit Rawat
Latest posts by Amit Rawat (see all)
- Python Program to Print the Fibonacci Sequence (2 ways) - April 7, 2020
- Python Program to Display or Print Prime Numbers Between a Range or an Interval - June 18, 2019
- Python Program To Print Pascal’s Triangle (2 Ways) - June 17, 2019