CC-4 : Convert decimal number to binary.
Description:
Given an input number, convert it into its binary form.
Test cases and expected outputs:
| Input Parameters |
Expected outputs |
| Decimal num: 3
|
Binary num: 11
|
| Decimal num: 9
|
Binary num: 1001
|
Pseudocode:
DecimalToBinary(num):
| The number to be converted to binary is received as input parameter.
|
| If num==0, return 0; (base case).
|
| Recursively call decimalToBinary() with num/2 as parameter and set return value to variable retBin.
|
| Combine binary number calaculated so far as following:
binaryNum=num %2 + 10*retBin.
|
| Return binaryNum.
|
Code:
private int decimalToBinary(int num){
if (num == 0) {
return 0;
}
int retBin=decimalToBinary(num/2);
int binaryNum=num%2 + 10*retBin;
return binaryNum;
}
Click here to download and run code and test cases !
Below fully running code can be copied and run on Eclipse or other Java IDEs. Refer the classname in code below. If the class name below is "A", save the code below to a file named A.java before running it.
Be sure to try your own test cases to enhance your understanding !
You can also tweak the code to optimize or add enhancements and custom features.
public class RecursionDecimalToBinary {
private int decimalToBinary(int num){
if (num == 0) {
return 0;
}
int retBin=decimalToBinary(num/2);
int binaryNum=num%2 + 10*retBin;
return binaryNum;
}
public static void main(String[] args) {
/***********************
Test cases given below
**********************/
int retVal;
try {
RecursionDecimalToBinary rcn=new RecursionDecimalToBinary();
int num=3;
System.out.println("Decimal num: "+num);
retVal=rcn.decimalToBinary(num);
System.out.println("Binary num: "+retVal);
System.out.println();
num=9;
System.out.println("Decimal num: "+num);
retVal=rcn.decimalToBinary(num);
System.out.println("Binary num: "+retVal);
System.out.println();
num=54;
System.out.println("Decimal num: "+num);
retVal=rcn.decimalToBinary(num);
System.out.println("Binary num: "+retVal);
System.out.println();
}catch (Exception exception) {
System.out.print("Exception: "+ exception);
exception.printStackTrace();
}
}
}