JAVA

자바 For문 예제) (For, Switch)을 이용한 10진수 -> 2진수, 8진수, 16진수 변경

KSJ IT 2018. 8. 21. 16:49

유익하셨다면 광고 한번씩만 클릭해주시면 감사하겠습니다.

반응형

//정수(10진수)를 입력받아, 2진수, 8진수, 16진수로 변환해서 출력

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

System.out.print("정수 : ");

int num = Integer.parseInt(reader.readLine());

// 2진수 구하기

int temp = num;

String pattern = "";

for(int i = 0; i < 32; i++) {

pattern = (temp % 2) + pattern;   // 0 , 1

temp = temp / 2 ;

}

System.out.println("2진수 : " + pattern + "(2)");

// 8진수 구하기

pattern = "";

temp = num;

for(int i = 0; i < (32 / 3) + 1; i++) {

pattern = (temp % 8) + pattern;   // 0 , 1

temp = temp / 8 ;

}

System.out.println("8진수 : " + pattern + "(8)");

// 16진수 구하기

pattern = "";

temp = num;

for(int i = 0; i < 32 / 4; i++) {

switch((temp % 16)) {

case 10 : pattern = "A"; break;

case 11 : pattern = "B"; break;

case 12 : pattern = "C"; break;

case 13 : pattern = "D"; break;

case 14 : pattern = "E"; break;

case 15 : pattern = "F"; break;

default : pattern = (temp % 16) + pattern;

}

temp = temp / 16 ;

}

System.out.println("16진수 : " + pattern + "(16)");

반응형