본문 바로가기
수업(국비지원)/Java

[Java] chap5 : 배열 Array - 배열(10진수를 변경하기)

by byeolsub 2023. 4. 14.

 📌 배열(10진수를 2진수로 변경하기)

package chap5;

import java.util.Scanner;

/*
 * 10진수를 2진수로 변경하기
 */
public class ArrEx4 {
	public static void main(String[] args) {
		int[] binary = new int[32]; // 010100000000....00
		System.out.println("10진수를 입력하세요");
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt(); //10
		int divnum = num,index=0; //현재의 값이 저장된 배열의 인덱스 값 저장 : 4(index++ 때믄에)
		while(divnum !=0) { //0 
			binary[index++] = divnum %2; 
			divnum/=2; //0
		}
		System.out.print(num+"의 2진수 : ");
		for(int i=index -1; i>=0; i--) {
			System.out.print(binary[i]);//1010
		}
		System.out.println();
	}

}

 


📌 배열(10진수를 16진수로 변경하기)

package chap5;

import java.util.Scanner;

/*
 * 10진수를 16진수로 변경하기
 *                    10 11 12 13 14 15 
 * 0 1 2 3 4 5 6 7 8 9 A  B  C  D  E  F 
 */
public class ArrEx5 {
	public static void main(String[] args) {
		String nums = "0123456789ABCDEF";
		// toCharArray() : char 배열 <-문자열
		// numarr ={'0','1','2','3',...,'A','B','C','D','E','F'}
		char[] numarr = nums.toCharArray();
		char[] hexa = new char[10];
		System.out.println("10진수를 입력하세요");
		Scanner scan = new Scanner(System.in);
		int num = scan.nextInt(); // 10
		int divnum = num, index = 0;
		while (divnum != 0) { // 10
			hexa[index++] = numarr[divnum % 16]; // 10/16 => 10, numarr[10]
			divnum /= 16; // 0
		}
		System.out.print(num + "의 16진수: ");
		for (int i = index - 1; i >= 0; i--) {
			System.out.print(hexa[i]);
		}
		System.out.println();
	}
}