수업(국비지원)/Java
[Java] chap5 : 배열 Array - 배열(10진수를 변경하기)
byeolsub
2023. 4. 14. 23:38
📌 배열(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();
}
}