在进行进位制转换时,若是自己写一个函数出来,是比较麻烦的,此时我们就可以调用封装类(Integer、String)的方法,来更容易地操作进位制。
将其他进制转十进制:
Integer.valueOf(String s, int radix);
Integer.parseInt(String s, int radix);
int a = Integer.valueOf("-111",2); // 将字符串-111转换为二进制的整数
int b = Integer.parseInt("111",3); // 将字符串111转换为三进制的整数
System.out.print(a+"\n"+b);
输出:
-7
13
这两个类方法的作用相同,都是将radix进制的字符串s转化为十进制的整数,返回类型为int。
注意:字符串s必须是合法的整数,且与radix进制对应
如:(“1111”,2), (“2312”,4)都是合法的,即s中每个数字都不超过进制radix
(“a”,2) 和 (“11-1”,3) 中字符串s不是合法整数,(“142”,3) 中三进制数不可能有数字4,因此这三个都是不合法的。
(Long也有同样的类方法,作用也相同,只是返回类型为long)
将十进制转化为其他进制:
Integer.toString(int a, int b);
String s = Integer.toString(9,2); // 将十进制数9转化为二进制数
System.out.print(s);
输出:
1001
该方法是将十进制数a转化为b进制数,返回的类型为String
(Long同理)
对于非十进制数转化为另一个非十进制数,可以先转化为10进制,再转化为目标进制。
对于String类型和int的不同,可以调用类方法来进行String和int的转换
String s = String.valueOf(int a); // 将int型转化为String型
int b = Integer.parseInt(String str); // 将String型转化为int型
还有可以调用它的常用封装方法:
Integer.toBinaryString(int n):
作用是将n转换为二进制的字符串。
Integer.toOctalString(int n):
作用是将n转换为八进制的字符串。
Integer.toHexString(int n);
作用是将n转换为十六进制的字符串,a~f均为小写
----------------------------2022/3/22-update~~~~~~~~~~~~~~~