C++ program to Convert a Decimal Number to Binary Number using Stacks

In this problem, we will see how to convert a decimal number to binary numbers using stacks. As we know that the decimal numbers can be converted using binary after dividing it by 2 and taking the remainder. We take the remainder from last to first, so we can easily use the stack data structure to do that.

Input: Decimal number 13
Output: Binary number 1101


Step 1: Take a number in decimal
Step 2: while the number is greater than 0:
Step 2.1: Push the remainder after dividing the number by 2 into stack.
Step 2.2: set the number as number / 2.
Step 3: Pop elements from stack and print the binary number

Example Code

 Live Demo

using namespace std;
void dec_to_bin(int number) {
   stack<int> stk;
   while(number > 0) {
      int rem = number % 2; //take remainder
      number = number / 2;
   while(!stk.empty()) {
      int item;
      item = stk.top();
      cout << item;
main() {
   int num;
   cout << "Enter a number: ";
   cin >> num;


Enter a number: 18

Updated on: 30-Jul-2019

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started