进制转换
不同进制整数转换方法
R 进制转十进制(不分整数和小数部分)
方法:位权加和(将R进制按权展开,再在十进制的数制系统内进行计算)
举例:27(八进制)-> 23(十进制)
27 = 2 x 8 ^ 1 + 7 x 8 ^ 0 = 2 x 8 + 7 x 1 = 23
代码实现
package 任意进制转化为十进制;
public class Main {
public static void main(String[] args) {
//十六进制a转换为十进制
//任意进制转换为十进制:Integer.parseInt(string str,int current_redix)
System.out.println(Integer.parseInt("a", 16));
}
}
注:这里演示的是整数进制的转换,对于浮点数就把Integer换成Double就OK了
十进制转 R 进制
方法:除基取余法(最后余数为最高位)
举例:11(十进制)->1011(二进制)
11 / 2 = 5 (余数为 1)
5 / 2 = 2 (余数为 1)
2 / 2 = 1 (余数为 0)
1/2 = 0 (余数为 1)最高位
将余数从下向上写在一起就答案: 1011
代码实现
package 十进制转换为任意进制;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
System.out.println("十进制转换为任意进制");
//十进制转换为二进制:Integer.toBinaryString(int i)
System.out.println(n+"转换为二进制数为:"+Integer.toBinaryString(n));
//十进制转换为八进制:Integer.toOctalString(int i)
System.out.println(n+"转换为八进制为:"+Integer.toOctalString(n));
//十进制转换为任意进制:Integer.toHexString(int i)
System.out.println(n+"转换为十六进制为:"+Integer.toHexString(n));
//十进制转换为任意进制:Integer.toString(int i,int redix)
System.out.println(n+"转换为五进制为:"+Integer.toString(n, 5));
}
}
就记住这一个就够
//十进制转换为任意进制:
Integer.toString(int i,int redix)