Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save martinusadyh/110b20d422daeb3ce26b to your computer and use it in GitHub Desktop.
Save martinusadyh/110b20d422daeb3ce26b to your computer and use it in GitHub Desktop.
package id.web.martinusadyh.iso8583.helper;
public class DecimalHexBinaryConverter {
public static String decimalToHexa(Integer decimalNumber) {
return Integer.toHexString(decimalNumber);
}
public static String decimalToBinary(Integer decimalNumber) {
StringBuilder binaryNumber = new StringBuilder();
StringBuilder sbBinary = new StringBuilder();
String binaryString = Integer.toBinaryString(decimalNumber);
char[] binary = binaryString.toCharArray();
int counter = 0;
// ambil dari index karakter terakhir
for (int i=binary.length-1; i>=0; i--) {
counter++;
sbBinary.append(binary[i]);
// reset counter ke nol jika berhasil mengambil 4 digit karakter
if (counter == 4) counter = 0;
}
// 4 adalah panjang karakter tiap blok di binary
// ex: dec [100] == binary [0110 0100]
for (int i=0; i<4-counter; i++) {
if (counter > 0) sbBinary.append("0");
}
// sekarang dibalik
for (int i=sbBinary.length()-1; i>=0;i--) {
binaryNumber.append(sbBinary.toString().charAt(i));
}
return binaryNumber.toString();
}
public static Integer binaryToDecimal(String binaryNumber) {
return Integer.parseInt(binaryNumber, 2);
}
public static String binaryToHexa(String binaryNumber) {
return decimalToHexa(binaryToDecimal(binaryNumber));
}
public static Integer hexaToDecimal(String hexaNumber) {
return Integer.parseInt(hexaNumber, 16);
}
public static String hexaToBinary(String hexaNumber) {
return decimalToBinary(hexaToDecimal(hexaNumber));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment