Java 实现任意进制转换
时间: 2023-08-31 21:09:12 浏览: 100
Java实现任意进制的转换
### 回答1:
Java 中可以使用 Integer 类的 toString(int num, int radix) 方法来实现任意进制转换。该方法的第一个参数为需要转换的十进制数字,第二个参数为转换后的进制。
例如,将十进制数字 10 转换为二进制:
```
String binary = Integer.toString(10, 2);
System.out.println(binary); // 1010
```
或者使用Integer.toHexString(int i) 和Integer.toOctalString(int i)
将十进制数字 10 转换为十六进制
```
String hex = Integer.toHexString(10);
System.out.println(hex); // a
```
将十进制数字 10 转换为八进制
```
String oct = Integer.toOctalString(10);
System.out.println(oct); // 12
```
### 回答2:
Java 实现任意进制转换可以通过以下步骤实现:
1. 定义一个方法,传入三个参数:待转换的数值(作为字符串)、原始进制数、目标进制数。
2. 将字符串形式的数值转换为十进制数。可以通过使用 Integer 类的 parseInt() 方法将字符串转换为整数。
3. 将十进制数转换为目标进制。可以使用 Integer 类的 toString() 方法,传入待转换的十进制数和目标进制数,将其转换为指定进制的字符串形式。
4. 返回转换后的结果。
以下是一个示例代码:
```
public class NumberSystemConverter {
public static void main(String[] args) {
String number = "101";
int sourceBase = 2;
int targetBase = 10;
String result = convertNumberSystem(number, sourceBase, targetBase);
System.out.println(result);
}
public static String convertNumberSystem(String number, int sourceBase, int targetBase) {
int decimalNumber = Integer.parseInt(number, sourceBase);
String result = Integer.toString(decimalNumber, targetBase);
return result;
}
}
```
在示例代码中,将二进制数 "101" 转换为十进制数,并打印出结果 "5"。你可以根据需要修改待转换的数值和进制数,以及打印方式。
阅读全文