java各进制转换
程序员文章站
2024-03-18 17:58:22
...
说明
自己记录一下一些关于进制转换的方法,主要是二进制、八进制、十六进制和十进制之间的转换。
代码
package com.myself.utils;
/**
* convert a num form a base to another base, the number must be bigger then 0 and less then 2147483647
*/
public class BaseConvertTools {
/**
* 10 -> 2
* @return 2
*/
public static String DecimalToBinary(int decimal) {
return Integer.toBinaryString(decimal);
}
/**
* 10 -> 8
* @return 2
*/
public static String DecimalToOctal(int decimal) {
return Integer.toOctalString(decimal);
}
/**
* 10 -> 16
* @return 2
*/
public static String DecimalToHex(int decimal) {
return Integer.toHexString(decimal);
}
/**
* 2 -> 10
* @return 2
*/
public static int BinaryToDecimal(String binary) {
try {
return Integer.parseInt(binary, 2);
} catch (NumberFormatException e) {
return 0;
}
}
/**
* 8 -> 10
* @return 2
*/
public static int OctalToDecimal(String octal) {
try {
return Integer.parseInt(octal, 8);
} catch (NumberFormatException e) {
return 0;
}
}
/**
* 16 -> 10
* @return 2
*/
public static int HexToDecimal(String hex) {
try {
return Integer.parseInt(hex, 16);
} catch (NumberFormatException e) {
try {
return Integer.parseInt(hex.substring(2), 16);
} catch (NumberFormatException ex) {
return 0;
}
}
}
}