This program converts decimal number into different base number system.
Supports Binary (base2) to base9 conversion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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