# 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*

- divide the number by 2 (integer division) and note down the remainder and keep the quotient

*63/2: quotient -> 31, remainder -> 1* - 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

- 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 { string=x; number=y; } BinaryConversion()//default constructor { string="Code Speedy"; number=63; } 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: "); ob.stringToBinary(ob.string); } 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 System.out.print(binary(c)+"."); } } 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: 1000011.1101111.1100100.1100101.100000.1010011.1110000.1100101.1100101.1100100.1111001.

**Summary:**

**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