10진수를 2진수, 16진수로 변환하는 방법
진법을 변환하는 코드는 이미 기본적으로 제공하는 함수들이 있다. 급하다면 그 함수들을 이용해서 문제를 처리하면 된다.
하지만 지금 공부를 하고 있다면 직접 코드를 작성해보는 것이 큰 도움이 될 것이다.
10진수를 2진수, 16진수로 변환하는 코드
10진수의 수를 입력받아서 2진수와 16진수로 출력되게 하는 프로그램.
2진수와 16진수는 문자열로 만들어지고 출력된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | import java.util.Scanner; public class jinsuChange { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("10진수를 입력하세요\t"); int ten = scanner.nextInt(); //10진수를 입력받는다. int temp = ten; //입력받은 10진수 저장 int reminder; //나머지 임시 저장 String tempStr=""; //출력 문자열 String binStr; String hexStr; /* 몫 나머지 2 | 15 2 | 7 ... 1 2 | 3 ... 1 2 | 1 ... 1 2 | 0 ... 1 1111이 15를 2진수로 변환한 값 */ while(true) { reminder = temp%2; //2로 나눈 나머지 0, 1 temp = temp/2; //10진수를 계속 반으로 나눈다 tempStr = reminder+tempStr; //앞에서 부터 더해서 문자열 생성 if(temp == 0) { //수가 0이 되면 그대로 출력한다. break; } } binStr=tempStr; System.out.println(binStr); //10진수가 2진수로 변환된 문자열. System.out.println("--------------------------------------------"); temp = ten; //temp를 십진수로 리셋한다. tempStr = ""; //문자열 초기화 while(true) { reminder = temp%16; //16으로 나눈 나머지 temp = temp/16; //몫 if(reminder==10) { //문자열 처리 tempStr = "A"+tempStr; //10-> A }else if(reminder==11) { tempStr = "B"+tempStr; //11-> B } else if(reminder==12) { tempStr = "C"+tempStr; //12-> C } else if(reminder==13) { tempStr = "D"+tempStr; //13-> D } else if(reminder==14) { tempStr = "E"+tempStr; //14-> E } else if(reminder==15) { tempStr = "F"+tempStr; //15-> F } else{ tempStr = reminder + tempStr; } if(temp==0) { break; } } hexStr = tempStr; System.out.println("0x"+hexStr); //10진수가 16진수로 변환된 문자열 } } | cs |
'JAVA > JAVA 공부' 카테고리의 다른 글
operatorClass (0) | 2018.06.26 |
---|---|
Java 배열을 섞는 방법 (0) | 2018.06.20 |
Java 버블 소트 (0) | 2018.06.20 |
Java의 이중배열 (0) | 2018.06.20 |
Java의 배열 (0) | 2018.06.20 |