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

该代码示例展示了如何使用Java的for循环将十进制整数转换为二进制、八进制和十六进制。通过除法和取余操作,将数字转换后的余数逆序输出,完成不同进制间的转换。程序首先读取用户输入的整数,然后分别进行二进制、八进制和十六进制的转换,并打印结果。
摘要由CSDN通过智能技术生成

 使用简单的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]);
			}

		}

	}
}

 结果

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值