java进制转换所有⽅法_Java进制转换⽅法整理⼀、利⽤Integer将⼗进制的数进⾏进制转换
⽅法
⼗进制转换其他进制 使⽤⽅法 返回值
10进制转2进制 BinaryString(n) ⼀个⼆进制字符串
10进制转8进制 OctalString(n) ⼀个⼋进制字符串
10进制转16进制 HexString(n) ⼀个⼗六进制字符串
10进制转 R 进制 String(100, 16) ⼀个R进制字符串
例⼦
public class Main {
public static void main(String[] args) {
int n = 13;
System.out.println(n + "的⼆进制是:" + BinaryString(n));
System.out.println(n + "的⼋进制是:" + OctalString(n));
System.out.println(n + "的⼗六进制是:" + HexString(n));
System.out.println(n + "的三进制是:" + String(n, 3));
}
}
结果
13的⼆进制是:1101
13的⼋进制是:15
13的⼗六进制是:d
13的三进制是:111
⼆、 利⽤Integer.valueOf将字符串解析成⼗进制数
⽤法
Integer.valueOf(s, radix) 将s以radix进制的形式转换成⼗进制数,返回值为Integer型
例⼦
public class Main {
public static void main(String[] args) {
String str = new String("1001011");
java valueofSystem.out.println("⼆进制数" + str + "的⼗进制数为:" + Integer.valueOf(str, 2));
str = "123";
System.out.println("⼋进制数" + str + "的⼗进制数为:" + Integer.valueOf(str, 8));
str = "ffee23";
System.out.println("⼗六进制数" + str + "的⼗进制数为:" + Integer.valueOf(str, 16));
}
}
结果
⼆进制数1001011的⼗进制数为:75
⼋进制数123的⼗进制数为:83
⼗六进制数ffee23的⼗进制数为:16772643
三、利⽤Integer.parseInt将字符串解析成⼗进制数
Integer.parseInt(s, radix) 将s以radix进制的形式转换成⼗进制数,返回值为int型,⽤法和Integer.valueOf⼀样,就返回值类型不同⽽已例⼦
public class Main {
public static void main(String[] args) {
String str = new String("1001011");
System.out.println("⼆进制数" + str + "的⼗进制数为:" + Integer.parseInt(str, 2));
str = "123";
System.out.println("⼋进制数" + str + "的⼗进制数为:" + Integer.parseInt(str, 8));
str = "ffee23";
System.out.println("⼗六进制数" + str + "的⼗进制数为:" + Integer.parseInt(str, 16));
}
}
结果
⼆进制数1001011的⼗进制数为:75
⼋进制数123的⼗进制数为:83
⼗六进制数ffee23的⼗进制数为:16772643
四、利⽤ BigInteger 实现进制转换
⽤法
BigInteger(string, base).toString(to) 使⽤BigInteger将string以base进制的形式转换成to进制
BigInteger(string, base) 将string以base进制的形式解析为BigInteger类型
例⼦
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
String string = new String("abcdef123");
int base = 16;
int to = 8;
System.out.println(base+"进制数 "+string+" 转换成"+to+"进制数为:"+new BigInteger(string,base).toString(to)); }
}
结果
16进制数 abcdef123 转换成8进制数为:527467570443
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论