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

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

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

代码  

	public static void main(String[] args) {
		//1)输出一个整数
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个整数");
		int num = sc.nextInt();
		//2)重新设置num,不然在每次转换完一次进制后,num都会变成0
		int a = num;
		int b = num;
		int c = num;
		System.out.println("您输入的整数为:" + num);
		// 3)二进制转换
		String er = "";
		while (a != 0) {
			er = " " + a % 2 + er;//每个位置的数字用空格隔开再连接
			a = a / 2;
		}
		System.out.println("二进制为:" + er);
		// 4)八进制
		String ba = "";
		while (b != 0) {
			ba = " " + b % 8 + ba;//每个位置的数字用空格隔开再连接
			b = b / 8;
		}
		System.out.println("八进制为:" + ba);
		// 5)十六进制
		String shiliu = "";
		while (c != 0) {
			//6)判断余数为10,11,12,13,14,15时的情况
			if(c%16==10){
				shiliu = " " + "A" + shiliu;
			}else if(c%16==11){
				shiliu = " " + "B" + shiliu;
			}else if(c%16==12){
				shiliu = " " + "C" + shiliu;
			}else if(c%16==13){
				shiliu = " " + "D" + shiliu;
			}else if(c%16==14){
				shiliu = " " + "E" + shiliu;
			}else if(c%16==15){
				shiliu = " " + "F" + shiliu;
			}else{
					shiliu = " " + c%16 + shiliu;
		 
			}		
			c = c / 16;
		}
		System.out.println("十六进制为:" + shiliu);	
		sc.close();
	}

运行结果:

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

 

你可能感兴趣的:(java)