代碼:
public static void main(String[] args) {
int a = 53;
String b = "110101";
// 獲取十進(jìn)制數(shù) 53 的二進(jìn)制數(shù)
System.out.println(String.format(" 數(shù)字 %d 的二進(jìn)制是 %s", a, decimalToBinary(a)));
// 獲取二進(jìn)制數(shù) 110101 的十進(jìn)制數(shù)
System.out.println(String.format(" 數(shù)字 %s 的十進(jìn)制是 %d", b, binaryToDecimal(b)));
}
/**
* @Description: 十進(jìn)制轉(zhuǎn)換成二進(jìn)制
* @param decimalSource
* @return String
*/
public static String decimalToBinary(int decimalSource) {
// 轉(zhuǎn)換成 BigInteger 類型,默認(rèn)是十進(jìn)制
BigInteger bi = new BigInteger(String.valueOf(decimalSource));
// 參數(shù) 2 指定的是轉(zhuǎn)化成二進(jìn)制
return bi.toString(2);
}
/**
* @Description: 二進(jìn)制轉(zhuǎn)換成十進(jìn)制
* @param binarySource
* @return int
*/
public static int binaryToDecimal(String binarySource) {
// 轉(zhuǎn)換為 BigInteger 類型,參數(shù) 2 指定的是二進(jìn)制
BigInteger bi = new BigInteger(binarySource, 2);
// 默認(rèn)轉(zhuǎn)換成十進(jìn)制
return Integer.parseInt(bi.toString());
}
輸出:
數(shù)字 53 的二進(jìn)制是 110101
數(shù)字 110101 的十進(jìn)制是 53