Java Program to Convert Decimal to Binary - The Coding Shala
Hey there, welcome back to another post. In this post, we will learn how to convert decimal to binary in Java.
Java Program to Convert Decimal to Binary
You have given a decimal number. Write a Java program to convert decimal to binary.
Example 1:
Input: 7
Output: 111
Input: 10
Output: 1010
Decimal to Binary Conversion using Array
Approach
To convert decimal to binary we can follow the below steps:
- Store the remainder in the array when we divide the number by 2.
- Divide the number by 2.
- Follow the above two steps until the number is above 0.
- Print the array in reverse order.
For example:
4 % 2 = 0 => 4/2 = 2 2 % 2 = 0 => 2/2 = 1 1 % 2 = 1 => 1/2 = 0 Binary of 4 is: 100
Java Program:
import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * https://www.thecodingshala.com/ */ public class Main { public static void printBinary(int num) { List<Integer> arr = new ArrayList<>(); while (num > 0) { int rem = num % 2; arr.add(rem); num = num / 2; } // print arr is reverse order for (int i = arr.size()-1; i >= 0; i--) { System.out.print(arr.get(i)); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter a decimal number"); int num = sc.nextInt(); System.out.println("The binary of " + num + " is: "); printBinary(num); } }
Output:
Enter a decimal number
10
The binary of 10 is:
1010
Decimal to Binary Conversion using Stack
Approach
Instead of using the array, we can use the Stack to store the reminder and then print it. Stack has the property that the first inserted element will come out last so we got all the elements in the reverse order.
Java Program:
import java.util.Scanner; import java.util.Stack; /** * https://www.thecodingshala.com/ */ public class Main { public static void printBinary(int num) { Stack<Integer> stack = new Stack<>(); while (num > 0) { int rem = num % 2; stack.push(rem); num = num / 2; } // print stack while (!stack.isEmpty()) { System.out.print(stack.pop()); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter a decimal number"); int num = sc.nextInt(); System.out.println("The binary of " + num + " is: "); printBinary(num); } }
Output:
Enter a decimal number 10 The binary of 10 is: 1010
Other Posts You May Like
- Java Program to Convert int to double
- Java Program to Convert double to int
- Java Program to Convert String to int
- Java Program to Convert int to String
- Java Program to Convert int to long
Please leave a comment below if you like this post or found some errors, it will help me to improve my content.
Comments
Post a Comment