进制转换

不同进制整数转换方法

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)

posted @ 2021-07-28 10:47  Binge-和时间做朋友  阅读(370)  评论(0编辑  收藏  举报