java 学习 输出一个整数的二进制数、八进制数、十六进制数。

 使用简单的for循环进行 一个十进制数 转换为二进制数、八进制数、十六进制数。

(2)十进制转二进制

十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)

(2)十进制转八进制

十进制整数转八进制数:“除以8取余,逆序排列”(除八取余法)

(2)十进制转十六进制

十进制整数转十六进制数:“除以十六取余,逆序排列”(除十六取余法)

具体实现

二进制

现定义一个数组,然后把用2整除这个数,得到商和余数,再用商继续除以2,直到值为0结束循环,
//然后把这些余数放在数组中,输出即可;

其他进制原理相同

代码

import java.util.Scanner;

public class Demo00 {
	public static void main(String[] args) {
		System.out.println("请输入一个整数");
		Scanner sc = new Scanner(System.in);
		int number = sc.nextInt();
		// 转换为二进制
		int[] numEr = new int[100];
		int indexEr = 0;
		for (int i = number; i > 0; i /= 2, indexEr++) {
			numEr[indexEr] = i % 2;
		}

		System.out.println("二进制:");
		for (int i = indexEr - 1; i >= 0; i--) {
			System.out.print(+numEr[i]);
		}
		System.out.println();
		// 转换为八进制
		int[] numBr = new int[100];
		int indexBr = 0;
		for (int i = number; i > 0; i /= 8, indexBr++) {
			numBr[indexBr] = i % 8;
		}
		System.out.println("八进制:");
		for (int i = indexBr - 1; i >= 0; i--) {
			System.out.print(numBr[i]);
		}
		System.out.println();
		// 转换为十六进制
		int[] nums = new int[100];
		int index = 0;
		for (int i = number; i > 0; i /= 16, index++) {
			nums[index] = i % 16;
		}
		System.out.println("十六进制:");
		for (int i = index - 1; i >= 0; i--) {
			if (nums[i] == 10) {
				System.out.println("A");
			} else if (nums[i] == 11) {
				System.out.println("B");
			} else if (nums[i] == 12) {
				System.out.println("C");
			} else if (nums[i] == 13) {
				System.out.println("D");
			} else if (nums[i] == 14) {
				System.out.println("E");
			} else if (nums[i] == 15) {
				System.out.println("F");
			} else {
				System.out.print(nums[i]);
			}

		}

	}
}

 结果

java 学习 输出一个整数的二进制数、八进制数、十六进制数。_第1张图片

 

你可能感兴趣的:(java,java,学习)