Decimal to Binary conversion in JAVA

This tutorial would help in learning the following: (Decimal to binary conversion in Java)

  • Conversion of numbers from decimal-system (using 0 to 9) to binary-system (only 1 and 0)
  • Conversion of characters into their respective ASCII codes
  • Code for Decimal to Binary conversion in JAVA

The decimal number system uses all the 10 digits (0 to 9) to represent a number while the binary number system uses two digits (1 and 0). The following algorithm is used to convert a decimal-number into a binary-number:

let the number be 63

  1. divide the number by 2 (integer division) and note down the remainder and keep the quotient
    63/2: quotient -> 31, remainder -> 1
  2. repeat step 1 on the quotient till there comes another quotient which is 0, note down the remainders obtained in right-to-left fashion
    31/2: quotient -> 15, remainder -> 1; remainder-list -> 11
    15/2: quotient -> 7, remainder -> 1; remainder-list -> 111
    7/2: quotient -> 3, remainder -> 1; remainder-list -> 1111
    3/2: quotient -> 1, remainder -> 1; remainder-list -> 11111
    1/2: quotient -> 0, remainder -> 1; remainder-list -> 111111
  3. the remainders, placed in the right-to-left fashion form the binary representation
    (63)10~ (111111)2

Each character used in computing is assigned a special ASCII code (decimal-number-system); hence, to convert a character into binary-form, its ASCII code can be obtained and it can be converted
Note, there can be different encoding systems on different machines.

Convert Decimal to binary in Java

public class BinaryConversion
String string;
int number;
BinaryConversion(String x,int y)//parameterized-constructor
BinaryConversion()//default constructor
    string="Code Speedy";
public static void main(String args[])
    BinaryConversion ob;
    try{//considering the command line argument of the user as the string to be converted to binary format
        ob=new BinaryConversion(args[0],Integer.parseInt(args[1]));
    }//going with the default string in case of any exceptions with the command line argument
    catch(Exception e){ob=new BinaryConversion();};
    System.out.println("The binary form of "+ob.number+" is: "+ob.binary(ob.number));
    System.out.println("The binary form of "+ob.string+" is: ");
void stringToBinary(String code)//converts a line to binary code
     int c;
     for(int i=0;i<code.length();i++){
         c=(int)(code.charAt(i));//converting the character to its ASCII value
int binary(int x)//converts an integer to its equivalent binary form
     if(x<=1)return x;
     else return (x%2) + 10*binary(x/2);
}//class ends

Output: (without command line argument)

The binary form of 63 is: 111111
The binary form of Code Speedy is: 


int binary(int):

  • a recursive approach is taken
  • a remainder (x%2) is taken at each call and added next to the remainder of the next call
  • multiplication with 10 is done to ensure that the addition is done in right-to-left fashion and not simple summation

void stringToBinary(String):

  • a character is extracted, at a time, from the String ‘code’ and its integer-code (decimal system) is stored in ‘c’.
  • binary(int) is called and ‘c’ is passed to print the equivalent binary code.

We hope you have learned decimal to binary conversion in Java.

You may also read:

Leave a Reply

Your email address will not be published. Required fields are marked *