java 32进制_Java 3种方法实现进制转换
时间: 2024-02-23 21:00:29 浏览: 156
数字各种进制的转换
是的,我可以回答您的问题。下面是 Java 实现进制转换的三种方式:
1. 使用 Integer 类的 toBinaryString()、toOctalString() 和 toHexString() 方法实现二进制、八进制和十六进制转换。
例如,将十进制整数 100 转换为二进制字符串:
```
int num = 100;
String binaryStr = Integer.toBinaryString(num);
System.out.println(binaryStr); // 输出:1100100
```
2. 使用自定义方法实现进制转换。例如,将十进制整数转换为 32 进制字符串:
```
public static String to32String(int num) {
char[] digits = "0123456789ABCDEFGHIJKLMNOPQRSTUV".toCharArray();
int radix = 32;
StringBuilder sb = new StringBuilder();
while (num > 0) {
int digit = num % radix;
sb.append(digits[digit]);
num /= radix;
}
return sb.reverse().toString();
}
int num = 100;
String str32 = to32String(num);
System.out.println(str32); // 输出:2S
```
3. 使用 Java 数组实现任意进制转换。例如,将十进制整数转换为 5 进制字符串:
```
public static String toRadixString(int num, int radix) {
char[] digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
char[] buf = new char[32];
int charPos = 32;
while (num > 0) {
buf[--charPos] = digits[num % radix];
num /= radix;
}
return new String(buf, charPos, (32 - charPos));
}
int num = 100;
int radix = 5;
String strRadix = toRadixString(num, radix);
System.out.println(strRadix); // 输出:1300
```
这就是三种 Java 实现进制转换的方法,希望对您有所帮助。
阅读全文