n进制小数

将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出。例如:若十进制小数为0.795,则输出:
十进制正小数 0.795000 转换成 2 进制数为: 0.11001011
十进制正小数 0.795000 转换成 3 进制数为: 0.21011011
十进制正小数 0.795000 转换成 4 进制数为: 0.30232011
十进制正小数 0.795000 转换成 5 进制数为: 0.34414141
十进制正小数 0.795000 转换成 6 进制数为: 0.44341530
十进制正小数 0.795000 转换成 7 进制数为: 0.53645364
十进制正小数 0.795000 转换成 8 进制数为: 0.62702436
十进制正小数 0.795000 转换成 9 进制数为: 0.71348853

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		double n = scan.nextDouble();
		for (int k = 2; k <= 9; k++)
			vert(n, k);

	}

	private static void vert(double shu, int k) {
		double n = shu;
		int a[] = new int[8];
		for (int i = 0; i < 8; i++) {
			n *= k;
			a[i] = (int) n;
			if (n > 1)
				n -= a[i];
		}
		String s = "";
		for (int i = 0; i < 8; i++)
			s += a[i];
		System.out.println("十进制正小数" + String.format("%.6f", shu) + " 转换成" + k + "进制数为:0." + s);

	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42565135/article/details/88428121