Decimal To different Base[2-9] Conversion

This program converts decimal number into different base number system.

Supports Binary (base2) to base9 conversion


package com.lp.mysample;
import java.math.BigInteger;
/**
* @author lperumalm This class converts number to different base system (base2
* – base9)
* <h3>Sample Test Data for 16</h3>
* <ul>
* </li>
* <li>decimal-base2 for number 16 is 10000</li>
* <li>decimal-base3 for number 16 is 121</li>
* <li>decimal-base4 for number 16 is 100</li>
* <li>decimal-base5 for number 16 is 31</li>
* <li>decimal-base6 for number 16 is 24</li>
* <li>decimal-base7 for number 16 is 22</li>
* <li>decimal-base8 for number 16 is 20</li>
* <li>decimal-base9 for number 16 is 17</li>
* </ul>
*/
public class ConvertDecimalToBase2TO9 {
public static void main(String[] args) {
decimal2Base(new BigInteger("12345678900000"));
}
private static void decimal2Base(BigInteger no) {
for (int i = 2; i < 9; i++) {
BigInteger value = BigInteger.ZERO, factor = BigInteger.ONE, x = no, j = BigInteger.valueOf(i);
while (x.compareTo(BigInteger.ZERO) > 0) {
value = ((x.mod(j)).multiply(factor)).add(value);
x = x.divide(j);
factor = factor.multiply(BigInteger.TEN);
}
System.out.println("decimal-base" + i + " for number " + no + " is " + value);
}
}
}

Sample Output

For Input 15

  • decimal-base2 for number 15 is 1111
  • decimal-base3 for number 15 is 120
  • decimal-base4 for number 15 is 33
  • decimal-base5 for number 15 is 30
  • decimal-base6 for number 15 is 23
  • decimal-base7 for number 15 is 21
  • decimal-base8 for number 15 is 17

For Input  12345678900000

  • decimal-base2 for number 12345678900000 is 10110011101001110011110011100010101100100000
  • decimal-base3 for number 12345678900000 is 1121201020100120220200022200
  • decimal-base4 for number 12345678900000 is 2303221303303202230200
  • decimal-base5 for number 12345678900000 is 3104232422244300000
  • decimal-base6 for number 12345678900000 is 42131305424333200
  • decimal-base7 for number 12345678900000 is 2412642301124415
  • decimal-base8 for number 12345678900000 is 263516363425440

Leave a comment